# git rev-parse -q --verify fe8a1487c462c9afb7a7da862b0747b1f57229e7^{commit} fe8a1487c462c9afb7a7da862b0747b1f57229e7 already have revision, skipping fetch # git checkout -q -f -B kisskb fe8a1487c462c9afb7a7da862b0747b1f57229e7 # git clean -qxdf # < git log -1 # commit fe8a1487c462c9afb7a7da862b0747b1f57229e7 # Author: Fabiano Rosas # Date: Tue Jan 25 18:56:55 2022 -0300 # # KVM: PPC: Book3s: mmio: Deliver DSI after emulation failure # # MMIO emulation can fail if the guest uses an instruction that we are # not prepared to emulate. Since these instructions can be and most # likely are valid ones, this is (slightly) closer to an access fault # than to an illegal instruction, so deliver a Data Storage interrupt # instead of a Program interrupt. # # BookE ignores bad faults, so it will keep using a Program interrupt # because a DSI would cause a fault loop in the guest. # # Suggested-by: Nicholas Piggin # Signed-off-by: Fabiano Rosas # Reviewed-by: Nicholas Piggin # Signed-off-by: Michael Ellerman # Link: https://lore.kernel.org/r/20220125215655.1026224-6-farosas@linux.ibm.com # < /opt/cross/kisskb/korg/gcc-5.5.0-nolibc/powerpc64-linux/bin/powerpc64-linux-gcc --version # < /opt/cross/kisskb/korg/gcc-5.5.0-nolibc/powerpc64-linux/bin/powerpc64-linux-ld --version # < git log --format=%s --max-count=1 fe8a1487c462c9afb7a7da862b0747b1f57229e7 # < make -s -j 24 ARCH=powerpc O=/kisskb/build/powerpc-fixes_holly_defconfig_powerpc-gcc5 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-5.5.0-nolibc/powerpc64-linux/bin/powerpc64-linux- holly_defconfig # < make -s -j 24 ARCH=powerpc O=/kisskb/build/powerpc-fixes_holly_defconfig_powerpc-gcc5 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-5.5.0-nolibc/powerpc64-linux/bin/powerpc64-linux- help # make -s -j 24 ARCH=powerpc O=/kisskb/build/powerpc-fixes_holly_defconfig_powerpc-gcc5 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-5.5.0-nolibc/powerpc64-linux/bin/powerpc64-linux- olddefconfig # make -s -j 24 ARCH=powerpc O=/kisskb/build/powerpc-fixes_holly_defconfig_powerpc-gcc5 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-5.5.0-nolibc/powerpc64-linux/bin/powerpc64-linux- /kisskb/src/drivers/net/ethernet/tundra/tsi108_eth.c: In function 'tsi108_get_mac': /kisskb/src/drivers/net/ethernet/tundra/tsi108_eth.c:1099:20: error: assignment of read-only location '*dev->dev_addr' dev->dev_addr[0] = 0x00; ^ /kisskb/src/drivers/net/ethernet/tundra/tsi108_eth.c:1100:20: error: assignment of read-only location '*(dev->dev_addr + 1u)' dev->dev_addr[1] = 0x06; ^ /kisskb/src/drivers/net/ethernet/tundra/tsi108_eth.c:1101:20: error: assignment of read-only location '*(dev->dev_addr + 2u)' dev->dev_addr[2] = 0xd2; ^ /kisskb/src/drivers/net/ethernet/tundra/tsi108_eth.c:1102:20: error: assignment of read-only location '*(dev->dev_addr + 3u)' dev->dev_addr[3] = 0x00; ^ /kisskb/src/drivers/net/ethernet/tundra/tsi108_eth.c:1103:20: error: assignment of read-only location '*(dev->dev_addr + 4u)' dev->dev_addr[4] = 0x00; ^ /kisskb/src/drivers/net/ethernet/tundra/tsi108_eth.c:1105:21: error: assignment of read-only location '*(dev->dev_addr + 5u)' dev->dev_addr[5] = 0x01; ^ /kisskb/src/drivers/net/ethernet/tundra/tsi108_eth.c:1107:21: error: assignment of read-only location '*(dev->dev_addr + 5u)' dev->dev_addr[5] = 0x02; ^ /kisskb/src/drivers/net/ethernet/tundra/tsi108_eth.c:1117:20: error: assignment of read-only location '*dev->dev_addr' dev->dev_addr[0] = (word2 >> 16) & 0xff; ^ /kisskb/src/drivers/net/ethernet/tundra/tsi108_eth.c:1118:20: error: assignment of read-only location '*(dev->dev_addr + 1u)' dev->dev_addr[1] = (word2 >> 24) & 0xff; ^ /kisskb/src/drivers/net/ethernet/tundra/tsi108_eth.c:1119:20: error: assignment of read-only location '*(dev->dev_addr + 2u)' dev->dev_addr[2] = (word1 >> 0) & 0xff; ^ /kisskb/src/drivers/net/ethernet/tundra/tsi108_eth.c:1120:20: error: assignment of read-only location '*(dev->dev_addr + 3u)' dev->dev_addr[3] = (word1 >> 8) & 0xff; ^ /kisskb/src/drivers/net/ethernet/tundra/tsi108_eth.c:1121:20: error: assignment of read-only location '*(dev->dev_addr + 4u)' dev->dev_addr[4] = (word1 >> 16) & 0xff; ^ /kisskb/src/drivers/net/ethernet/tundra/tsi108_eth.c:1122:20: error: assignment of read-only location '*(dev->dev_addr + 5u)' dev->dev_addr[5] = (word1 >> 24) & 0xff; ^ /kisskb/src/drivers/net/ethernet/tundra/tsi108_eth.c: In function 'tsi108_set_mac': /kisskb/src/drivers/net/ethernet/tundra/tsi108_eth.c:1146:20: error: assignment of read-only location '*(dev->dev_addr + (sizetype)((unsigned int)i * 1u))' dev->dev_addr[i] = ((unsigned char *)addr)[i + 2]; ^ make[5]: *** [/kisskb/src/scripts/Makefile.build:288: drivers/net/ethernet/tundra/tsi108_eth.o] Error 1 make[4]: *** [/kisskb/src/scripts/Makefile.build:550: drivers/net/ethernet/tundra] Error 2 make[3]: *** [/kisskb/src/scripts/Makefile.build:550: drivers/net/ethernet] Error 2 make[2]: *** [/kisskb/src/scripts/Makefile.build:550: drivers/net] Error 2 make[2]: *** Waiting for unfinished jobs.... make[1]: *** [/kisskb/src/Makefile:1831: drivers] Error 2 make[1]: *** Waiting for unfinished jobs.... make: *** [Makefile:219: __sub-make] Error 2 Command 'make -s -j 24 ARCH=powerpc O=/kisskb/build/powerpc-fixes_holly_defconfig_powerpc-gcc5 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-5.5.0-nolibc/powerpc64-linux/bin/powerpc64-linux- ' returned non-zero exit status 2 # rm -rf /kisskb/build/powerpc-fixes_holly_defconfig_powerpc-gcc5 # Build took: 0:00:56.513533