* [linux-stable-rc:queue/4.19 14/37] drivers/misc/genwqe/card_dev.c:1097: Error: unrecognized opcode `csrs sstatus,s4'
@ 2023-03-15 6:53 kernel test robot
0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2023-03-15 6:53 UTC (permalink / raw)
To: Guo Ren; +Cc: oe-kbuild-all, Sasha Levin, Palmer Dabbelt
tree: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git queue/4.19
head: ceab06d3ee4b9b96e8572e8da01748a56bb4cae2
commit: 4df82b9549d63f7fd7d441f2c5a5bcc15335269d [14/37] riscv: Using PATCHABLE_FUNCTION_ENTRY instead of MCOUNT
config: riscv-allmodconfig (https://download.01.org/0day-ci/archive/20230315/202303151449.KbuglTxH-lkp@intel.com/config)
compiler: riscv64-linux-gcc (GCC) 12.1.0
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git/commit/?id=4df82b9549d63f7fd7d441f2c5a5bcc15335269d
git remote add linux-stable-rc https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git
git fetch --no-tags linux-stable-rc queue/4.19
git checkout 4df82b9549d63f7fd7d441f2c5a5bcc15335269d
# save the config file
mkdir build_dir && cp config build_dir/.config
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross W=1 O=build_dir ARCH=riscv olddefconfig
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross W=1 O=build_dir ARCH=riscv SHELL=/bin/bash drivers/misc/genwqe/
If you fix the issue, kindly add following tag where applicable
| Reported-by: kernel test robot <lkp@intel.com>
| Link: https://lore.kernel.org/oe-kbuild-all/202303151449.KbuglTxH-lkp@intel.com/
All errors (new ones prefixed by >>):
drivers/misc/genwqe/card_dev.c: Assembler messages:
drivers/misc/genwqe/card_dev.c:1070: Error: unrecognized opcode `csrs sstatus,a3'
drivers/misc/genwqe/card_dev.c:1070: Error: unrecognized opcode `csrc sstatus,a3'
drivers/misc/genwqe/card_dev.c:1077: Error: unrecognized opcode `csrs sstatus,a3'
drivers/misc/genwqe/card_dev.c:1077: Error: unrecognized opcode `csrc sstatus,a3'
drivers/misc/genwqe/card_dev.c:1084: Error: unrecognized opcode `csrs sstatus,a4'
drivers/misc/genwqe/card_dev.c:1084: Error: unrecognized opcode `csrc sstatus,a4'
>> drivers/misc/genwqe/card_dev.c:1097: Error: unrecognized opcode `csrs sstatus,s4'
>> drivers/misc/genwqe/card_dev.c:1097: Error: unrecognized opcode `csrc sstatus,s4'
drivers/misc/genwqe/card_dev.c:1103: Error: unrecognized opcode `csrs sstatus,s4'
drivers/misc/genwqe/card_dev.c:1103: Error: unrecognized opcode `csrc sstatus,s4'
drivers/misc/genwqe/card_dev.c:1113: Error: unrecognized opcode `csrs sstatus,s4'
drivers/misc/genwqe/card_dev.c:1113: Error: unrecognized opcode `csrc sstatus,s4'
drivers/misc/genwqe/card_dev.c:1120: Error: unrecognized opcode `csrs sstatus,s4'
drivers/misc/genwqe/card_dev.c:1120: Error: unrecognized opcode `csrc sstatus,s4'
drivers/misc/genwqe/card_dev.c:1133: Error: unrecognized opcode `csrs sstatus,s4'
drivers/misc/genwqe/card_dev.c:1133: Error: unrecognized opcode `csrc sstatus,s4'
drivers/misc/genwqe/card_dev.c:1139: Error: unrecognized opcode `csrs sstatus,s4'
drivers/misc/genwqe/card_dev.c:1139: Error: unrecognized opcode `csrc sstatus,s4'
vim +1097 drivers/misc/genwqe/card_dev.c
eaf4722d4645c6 Frank Haverkamp 2013-12-09 1040
eaf4722d4645c6 Frank Haverkamp 2013-12-09 1041 /**
eaf4722d4645c6 Frank Haverkamp 2013-12-09 1042 * genwqe_ioctl() - IO control
eaf4722d4645c6 Frank Haverkamp 2013-12-09 1043 * @filp: file handle
eaf4722d4645c6 Frank Haverkamp 2013-12-09 1044 * @cmd: command identifier (passed from user)
eaf4722d4645c6 Frank Haverkamp 2013-12-09 1045 * @arg: argument (passed from user)
eaf4722d4645c6 Frank Haverkamp 2013-12-09 1046 *
eaf4722d4645c6 Frank Haverkamp 2013-12-09 1047 * Return: 0 success
eaf4722d4645c6 Frank Haverkamp 2013-12-09 1048 */
eaf4722d4645c6 Frank Haverkamp 2013-12-09 1049 static long genwqe_ioctl(struct file *filp, unsigned int cmd,
eaf4722d4645c6 Frank Haverkamp 2013-12-09 1050 unsigned long arg)
eaf4722d4645c6 Frank Haverkamp 2013-12-09 1051 {
eaf4722d4645c6 Frank Haverkamp 2013-12-09 1052 int rc = 0;
eaf4722d4645c6 Frank Haverkamp 2013-12-09 1053 struct genwqe_file *cfile = (struct genwqe_file *)filp->private_data;
eaf4722d4645c6 Frank Haverkamp 2013-12-09 1054 struct genwqe_dev *cd = cfile->cd;
fb145456fa4f43 Kleber Sacilotto de Souza 2014-06-04 1055 struct pci_dev *pci_dev = cd->pci_dev;
eaf4722d4645c6 Frank Haverkamp 2013-12-09 1056 struct genwqe_reg_io __user *io;
eaf4722d4645c6 Frank Haverkamp 2013-12-09 1057 u64 val;
eaf4722d4645c6 Frank Haverkamp 2013-12-09 1058 u32 reg_offs;
eaf4722d4645c6 Frank Haverkamp 2013-12-09 1059
fb145456fa4f43 Kleber Sacilotto de Souza 2014-06-04 1060 /* Return -EIO if card hit EEH */
fb145456fa4f43 Kleber Sacilotto de Souza 2014-06-04 1061 if (pci_channel_offline(pci_dev))
fb145456fa4f43 Kleber Sacilotto de Souza 2014-06-04 1062 return -EIO;
fb145456fa4f43 Kleber Sacilotto de Souza 2014-06-04 1063
d276b6c54d47a4 Frank Haverkamp 2013-12-22 1064 if (_IOC_TYPE(cmd) != GENWQE_IOC_CODE)
eaf4722d4645c6 Frank Haverkamp 2013-12-09 1065 return -EINVAL;
eaf4722d4645c6 Frank Haverkamp 2013-12-09 1066
eaf4722d4645c6 Frank Haverkamp 2013-12-09 1067 switch (cmd) {
eaf4722d4645c6 Frank Haverkamp 2013-12-09 1068
eaf4722d4645c6 Frank Haverkamp 2013-12-09 1069 case GENWQE_GET_CARD_STATE:
eaf4722d4645c6 Frank Haverkamp 2013-12-09 1070 put_user(cd->card_state, (enum genwqe_card_state __user *)arg);
eaf4722d4645c6 Frank Haverkamp 2013-12-09 1071 return 0;
eaf4722d4645c6 Frank Haverkamp 2013-12-09 1072
eaf4722d4645c6 Frank Haverkamp 2013-12-09 1073 /* Register access */
eaf4722d4645c6 Frank Haverkamp 2013-12-09 1074 case GENWQE_READ_REG64: {
eaf4722d4645c6 Frank Haverkamp 2013-12-09 1075 io = (struct genwqe_reg_io __user *)arg;
eaf4722d4645c6 Frank Haverkamp 2013-12-09 1076
d276b6c54d47a4 Frank Haverkamp 2013-12-22 1077 if (get_user(reg_offs, &io->num))
eaf4722d4645c6 Frank Haverkamp 2013-12-09 1078 return -EFAULT;
d276b6c54d47a4 Frank Haverkamp 2013-12-22 1079
eaf4722d4645c6 Frank Haverkamp 2013-12-09 1080 if ((reg_offs >= cd->mmio_len) || (reg_offs & 0x7))
eaf4722d4645c6 Frank Haverkamp 2013-12-09 1081 return -EINVAL;
eaf4722d4645c6 Frank Haverkamp 2013-12-09 1082
eaf4722d4645c6 Frank Haverkamp 2013-12-09 1083 val = __genwqe_readq(cd, reg_offs);
eaf4722d4645c6 Frank Haverkamp 2013-12-09 1084 put_user(val, &io->val64);
eaf4722d4645c6 Frank Haverkamp 2013-12-09 1085 return 0;
eaf4722d4645c6 Frank Haverkamp 2013-12-09 1086 }
eaf4722d4645c6 Frank Haverkamp 2013-12-09 1087
eaf4722d4645c6 Frank Haverkamp 2013-12-09 1088 case GENWQE_WRITE_REG64: {
eaf4722d4645c6 Frank Haverkamp 2013-12-09 1089 io = (struct genwqe_reg_io __user *)arg;
eaf4722d4645c6 Frank Haverkamp 2013-12-09 1090
eaf4722d4645c6 Frank Haverkamp 2013-12-09 1091 if (!capable(CAP_SYS_ADMIN))
eaf4722d4645c6 Frank Haverkamp 2013-12-09 1092 return -EPERM;
eaf4722d4645c6 Frank Haverkamp 2013-12-09 1093
eaf4722d4645c6 Frank Haverkamp 2013-12-09 1094 if ((filp->f_flags & O_ACCMODE) == O_RDONLY)
eaf4722d4645c6 Frank Haverkamp 2013-12-09 1095 return -EPERM;
eaf4722d4645c6 Frank Haverkamp 2013-12-09 1096
d276b6c54d47a4 Frank Haverkamp 2013-12-22 @1097 if (get_user(reg_offs, &io->num))
eaf4722d4645c6 Frank Haverkamp 2013-12-09 1098 return -EFAULT;
d276b6c54d47a4 Frank Haverkamp 2013-12-22 1099
eaf4722d4645c6 Frank Haverkamp 2013-12-09 1100 if ((reg_offs >= cd->mmio_len) || (reg_offs & 0x7))
eaf4722d4645c6 Frank Haverkamp 2013-12-09 1101 return -EINVAL;
eaf4722d4645c6 Frank Haverkamp 2013-12-09 1102
d276b6c54d47a4 Frank Haverkamp 2013-12-22 1103 if (get_user(val, &io->val64))
eaf4722d4645c6 Frank Haverkamp 2013-12-09 1104 return -EFAULT;
d276b6c54d47a4 Frank Haverkamp 2013-12-22 1105
eaf4722d4645c6 Frank Haverkamp 2013-12-09 1106 __genwqe_writeq(cd, reg_offs, val);
eaf4722d4645c6 Frank Haverkamp 2013-12-09 1107 return 0;
eaf4722d4645c6 Frank Haverkamp 2013-12-09 1108 }
eaf4722d4645c6 Frank Haverkamp 2013-12-09 1109
eaf4722d4645c6 Frank Haverkamp 2013-12-09 1110 case GENWQE_READ_REG32: {
eaf4722d4645c6 Frank Haverkamp 2013-12-09 1111 io = (struct genwqe_reg_io __user *)arg;
eaf4722d4645c6 Frank Haverkamp 2013-12-09 1112
d276b6c54d47a4 Frank Haverkamp 2013-12-22 1113 if (get_user(reg_offs, &io->num))
eaf4722d4645c6 Frank Haverkamp 2013-12-09 1114 return -EFAULT;
d276b6c54d47a4 Frank Haverkamp 2013-12-22 1115
eaf4722d4645c6 Frank Haverkamp 2013-12-09 1116 if ((reg_offs >= cd->mmio_len) || (reg_offs & 0x3))
eaf4722d4645c6 Frank Haverkamp 2013-12-09 1117 return -EINVAL;
eaf4722d4645c6 Frank Haverkamp 2013-12-09 1118
eaf4722d4645c6 Frank Haverkamp 2013-12-09 1119 val = __genwqe_readl(cd, reg_offs);
eaf4722d4645c6 Frank Haverkamp 2013-12-09 1120 put_user(val, &io->val64);
eaf4722d4645c6 Frank Haverkamp 2013-12-09 1121 return 0;
eaf4722d4645c6 Frank Haverkamp 2013-12-09 1122 }
eaf4722d4645c6 Frank Haverkamp 2013-12-09 1123
eaf4722d4645c6 Frank Haverkamp 2013-12-09 1124 case GENWQE_WRITE_REG32: {
eaf4722d4645c6 Frank Haverkamp 2013-12-09 1125 io = (struct genwqe_reg_io __user *)arg;
eaf4722d4645c6 Frank Haverkamp 2013-12-09 1126
eaf4722d4645c6 Frank Haverkamp 2013-12-09 1127 if (!capable(CAP_SYS_ADMIN))
eaf4722d4645c6 Frank Haverkamp 2013-12-09 1128 return -EPERM;
eaf4722d4645c6 Frank Haverkamp 2013-12-09 1129
eaf4722d4645c6 Frank Haverkamp 2013-12-09 1130 if ((filp->f_flags & O_ACCMODE) == O_RDONLY)
eaf4722d4645c6 Frank Haverkamp 2013-12-09 1131 return -EPERM;
eaf4722d4645c6 Frank Haverkamp 2013-12-09 1132
d276b6c54d47a4 Frank Haverkamp 2013-12-22 1133 if (get_user(reg_offs, &io->num))
eaf4722d4645c6 Frank Haverkamp 2013-12-09 1134 return -EFAULT;
d276b6c54d47a4 Frank Haverkamp 2013-12-22 1135
eaf4722d4645c6 Frank Haverkamp 2013-12-09 1136 if ((reg_offs >= cd->mmio_len) || (reg_offs & 0x3))
eaf4722d4645c6 Frank Haverkamp 2013-12-09 1137 return -EINVAL;
eaf4722d4645c6 Frank Haverkamp 2013-12-09 1138
d276b6c54d47a4 Frank Haverkamp 2013-12-22 1139 if (get_user(val, &io->val64))
eaf4722d4645c6 Frank Haverkamp 2013-12-09 1140 return -EFAULT;
d276b6c54d47a4 Frank Haverkamp 2013-12-22 1141
eaf4722d4645c6 Frank Haverkamp 2013-12-09 1142 __genwqe_writel(cd, reg_offs, val);
eaf4722d4645c6 Frank Haverkamp 2013-12-09 1143 return 0;
eaf4722d4645c6 Frank Haverkamp 2013-12-09 1144 }
eaf4722d4645c6 Frank Haverkamp 2013-12-09 1145
eaf4722d4645c6 Frank Haverkamp 2013-12-09 1146 /* Flash update/reading */
eaf4722d4645c6 Frank Haverkamp 2013-12-09 1147 case GENWQE_SLU_UPDATE: {
eaf4722d4645c6 Frank Haverkamp 2013-12-09 1148 struct genwqe_bitstream load;
eaf4722d4645c6 Frank Haverkamp 2013-12-09 1149
eaf4722d4645c6 Frank Haverkamp 2013-12-09 1150 if (!genwqe_is_privileged(cd))
eaf4722d4645c6 Frank Haverkamp 2013-12-09 1151 return -EPERM;
eaf4722d4645c6 Frank Haverkamp 2013-12-09 1152
eaf4722d4645c6 Frank Haverkamp 2013-12-09 1153 if ((filp->f_flags & O_ACCMODE) == O_RDONLY)
eaf4722d4645c6 Frank Haverkamp 2013-12-09 1154 return -EPERM;
eaf4722d4645c6 Frank Haverkamp 2013-12-09 1155
58d66ce732378f Frank Haverkamp 2013-12-20 1156 if (copy_from_user(&load, (void __user *)arg,
d276b6c54d47a4 Frank Haverkamp 2013-12-22 1157 sizeof(load)))
eaf4722d4645c6 Frank Haverkamp 2013-12-09 1158 return -EFAULT;
d276b6c54d47a4 Frank Haverkamp 2013-12-22 1159
eaf4722d4645c6 Frank Haverkamp 2013-12-09 1160 rc = do_flash_update(cfile, &load);
eaf4722d4645c6 Frank Haverkamp 2013-12-09 1161
d276b6c54d47a4 Frank Haverkamp 2013-12-22 1162 if (copy_to_user((void __user *)arg, &load, sizeof(load)))
eaf4722d4645c6 Frank Haverkamp 2013-12-09 1163 return -EFAULT;
d276b6c54d47a4 Frank Haverkamp 2013-12-22 1164
eaf4722d4645c6 Frank Haverkamp 2013-12-09 1165 return rc;
eaf4722d4645c6 Frank Haverkamp 2013-12-09 1166 }
eaf4722d4645c6 Frank Haverkamp 2013-12-09 1167
eaf4722d4645c6 Frank Haverkamp 2013-12-09 1168 case GENWQE_SLU_READ: {
eaf4722d4645c6 Frank Haverkamp 2013-12-09 1169 struct genwqe_bitstream load;
eaf4722d4645c6 Frank Haverkamp 2013-12-09 1170
eaf4722d4645c6 Frank Haverkamp 2013-12-09 1171 if (!genwqe_is_privileged(cd))
eaf4722d4645c6 Frank Haverkamp 2013-12-09 1172 return -EPERM;
eaf4722d4645c6 Frank Haverkamp 2013-12-09 1173
eaf4722d4645c6 Frank Haverkamp 2013-12-09 1174 if (genwqe_flash_readback_fails(cd))
eaf4722d4645c6 Frank Haverkamp 2013-12-09 1175 return -ENOSPC; /* known to fail for old versions */
eaf4722d4645c6 Frank Haverkamp 2013-12-09 1176
d276b6c54d47a4 Frank Haverkamp 2013-12-22 1177 if (copy_from_user(&load, (void __user *)arg, sizeof(load)))
eaf4722d4645c6 Frank Haverkamp 2013-12-09 1178 return -EFAULT;
d276b6c54d47a4 Frank Haverkamp 2013-12-22 1179
eaf4722d4645c6 Frank Haverkamp 2013-12-09 1180 rc = do_flash_read(cfile, &load);
eaf4722d4645c6 Frank Haverkamp 2013-12-09 1181
d276b6c54d47a4 Frank Haverkamp 2013-12-22 1182 if (copy_to_user((void __user *)arg, &load, sizeof(load)))
eaf4722d4645c6 Frank Haverkamp 2013-12-09 1183 return -EFAULT;
d276b6c54d47a4 Frank Haverkamp 2013-12-22 1184
eaf4722d4645c6 Frank Haverkamp 2013-12-09 1185 return rc;
eaf4722d4645c6 Frank Haverkamp 2013-12-09 1186 }
eaf4722d4645c6 Frank Haverkamp 2013-12-09 1187
eaf4722d4645c6 Frank Haverkamp 2013-12-09 1188 /* memory pinning and unpinning */
eaf4722d4645c6 Frank Haverkamp 2013-12-09 1189 case GENWQE_PIN_MEM: {
eaf4722d4645c6 Frank Haverkamp 2013-12-09 1190 struct genwqe_mem m;
eaf4722d4645c6 Frank Haverkamp 2013-12-09 1191
d276b6c54d47a4 Frank Haverkamp 2013-12-22 1192 if (copy_from_user(&m, (void __user *)arg, sizeof(m)))
eaf4722d4645c6 Frank Haverkamp 2013-12-09 1193 return -EFAULT;
d276b6c54d47a4 Frank Haverkamp 2013-12-22 1194
eaf4722d4645c6 Frank Haverkamp 2013-12-09 1195 return genwqe_pin_mem(cfile, &m);
eaf4722d4645c6 Frank Haverkamp 2013-12-09 1196 }
eaf4722d4645c6 Frank Haverkamp 2013-12-09 1197
eaf4722d4645c6 Frank Haverkamp 2013-12-09 1198 case GENWQE_UNPIN_MEM: {
eaf4722d4645c6 Frank Haverkamp 2013-12-09 1199 struct genwqe_mem m;
eaf4722d4645c6 Frank Haverkamp 2013-12-09 1200
d276b6c54d47a4 Frank Haverkamp 2013-12-22 1201 if (copy_from_user(&m, (void __user *)arg, sizeof(m)))
eaf4722d4645c6 Frank Haverkamp 2013-12-09 1202 return -EFAULT;
d276b6c54d47a4 Frank Haverkamp 2013-12-22 1203
eaf4722d4645c6 Frank Haverkamp 2013-12-09 1204 return genwqe_unpin_mem(cfile, &m);
eaf4722d4645c6 Frank Haverkamp 2013-12-09 1205 }
eaf4722d4645c6 Frank Haverkamp 2013-12-09 1206
eaf4722d4645c6 Frank Haverkamp 2013-12-09 1207 /* launch an DDCB and wait for completion */
eaf4722d4645c6 Frank Haverkamp 2013-12-09 1208 case GENWQE_EXECUTE_DDCB:
eaf4722d4645c6 Frank Haverkamp 2013-12-09 1209 return do_execute_ddcb(cfile, arg, 0);
eaf4722d4645c6 Frank Haverkamp 2013-12-09 1210
eaf4722d4645c6 Frank Haverkamp 2013-12-09 1211 case GENWQE_EXECUTE_RAW_DDCB: {
eaf4722d4645c6 Frank Haverkamp 2013-12-09 1212
d276b6c54d47a4 Frank Haverkamp 2013-12-22 1213 if (!capable(CAP_SYS_ADMIN))
eaf4722d4645c6 Frank Haverkamp 2013-12-09 1214 return -EPERM;
d276b6c54d47a4 Frank Haverkamp 2013-12-22 1215
eaf4722d4645c6 Frank Haverkamp 2013-12-09 1216 return do_execute_ddcb(cfile, arg, 1);
eaf4722d4645c6 Frank Haverkamp 2013-12-09 1217 }
eaf4722d4645c6 Frank Haverkamp 2013-12-09 1218
eaf4722d4645c6 Frank Haverkamp 2013-12-09 1219 default:
eaf4722d4645c6 Frank Haverkamp 2013-12-09 1220 return -EINVAL;
eaf4722d4645c6 Frank Haverkamp 2013-12-09 1221 }
eaf4722d4645c6 Frank Haverkamp 2013-12-09 1222
eaf4722d4645c6 Frank Haverkamp 2013-12-09 1223 return rc;
eaf4722d4645c6 Frank Haverkamp 2013-12-09 1224 }
eaf4722d4645c6 Frank Haverkamp 2013-12-09 1225
:::::: The code at line 1097 was first introduced by commit
:::::: d276b6c54d47a427e4cffd7c84f3b631a1edf98e GenWQE: Rework return code for flash-update ioctl
:::::: TO: Frank Haverkamp <haver@linux.vnet.ibm.com>
:::::: CC: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2023-03-15 6:54 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-03-15 6:53 [linux-stable-rc:queue/4.19 14/37] drivers/misc/genwqe/card_dev.c:1097: Error: unrecognized opcode `csrs sstatus,s4' kernel test robot
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).