Merge git://git.kernel.org:/pub/scm/linux/kernel/git/davem/sparc
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
This commit is contained in:
commit
6a30bedfdf
|
@ -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
|
||||
|
|
|
@ -275,14 +275,13 @@ 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;
|
||||
}
|
||||
handle_ld_nf(insn, regs);
|
||||
if (insn & 0x1000000) /* op3[5:4]=3 (fp) */
|
||||
handle_ldf_stq(insn, regs);
|
||||
else
|
||||
handle_ld_nf(insn, regs);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue