Commit 6a30bedf authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull sparc fixes from David Miller:
 "Fix opcode filtering for exceptions, and clean up defconfig"

* git://git.kernel.org:/pub/scm/linux/kernel/git/davem/sparc:
  sparc: sparc64_defconfig: remove duplicate CONFIGs
  sparc64: Fix opcode filtering in handling of no fault loads
parents 4b3d9f9c 69264b4a
Loading
Loading
Loading
Loading
+1 −3
Original line number Diff line number Diff line
@@ -93,7 +93,7 @@ CONFIG_NETDEVICES=y
CONFIG_NET_ETHERNET=y
CONFIG_MII=m
CONFIG_SUNLANCE=m
CONFIG_HAPPYMEAL=m
CONFIG_HAPPYMEAL=y
CONFIG_SUNGEM=m
CONFIG_SUNVNET=m
CONFIG_LDMVSW=m
@@ -234,9 +234,7 @@ CONFIG_CRYPTO_TWOFISH=m
CONFIG_CRC16=m
CONFIG_LIBCRC32C=m
CONFIG_VCC=m
CONFIG_ATA=y
CONFIG_PATA_CMD64X=y
CONFIG_HAPPYMEAL=y
CONFIG_IP_PNP=y
CONFIG_IP_PNP_DHCP=y
CONFIG_DEVTMPFS=y
+6 −7
Original line number Diff line number Diff line
@@ -275,13 +275,12 @@ bool is_no_fault_exception(struct pt_regs *regs)
			asi = (regs->tstate >> 24); /* saved %asi       */
		else
			asi = (insn >> 5);	    /* immediate asi    */
		if ((asi & 0xf2) == ASI_PNF) {
			if (insn & 0x1000000) {     /* op3[5:4]=3       */
				handle_ldf_stq(insn, regs);
				return true;
			} else if (insn & 0x200000) { /* op3[2], stores */
		if ((asi & 0xf6) == ASI_PNF) {
			if (insn & 0x200000)        /* op3[2], stores   */
				return false;
			}
			if (insn & 0x1000000)       /* op3[5:4]=3 (fp)  */
				handle_ldf_stq(insn, regs);
			else
				handle_ld_nf(insn, regs);
			return true;
		}