Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 6338a6aa authored by Kirill A. Shutemov's avatar Kirill A. Shutemov Committed by Russell King
Browse files

ARM: 6269/1: Add 'code' parameter for hook_fault_code()



Add one more parameter to hook_fault_code() to be able to set 'code'
field of struct fsr_info.

Signed-off-by: default avatarKirill A. Shutemov <kirill@shutemov.name>
Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
parent 3dc91aff
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -83,7 +83,7 @@ void arm_notify_die(const char *str, struct pt_regs *regs, struct siginfo *info,

void hook_fault_code(int nr, int (*fn)(unsigned long, unsigned int,
				       struct pt_regs *),
		     int sig, const char *name);
		     int sig, int code, const char *name);

#define xchg(ptr,x) \
	((__typeof__(*(ptr)))__xchg((unsigned long)(x),(ptr),sizeof(*(ptr))))
+4 −4
Original line number Diff line number Diff line
@@ -505,10 +505,10 @@ void __init pci_v3_preinit(void)
	/*
	 * Hook in our fault handler for PCI errors
	 */
	hook_fault_code(4, v3_pci_fault, SIGBUS, "external abort on linefetch");
	hook_fault_code(6, v3_pci_fault, SIGBUS, "external abort on linefetch");
	hook_fault_code(8, v3_pci_fault, SIGBUS, "external abort on non-linefetch");
	hook_fault_code(10, v3_pci_fault, SIGBUS, "external abort on non-linefetch");
	hook_fault_code(4, v3_pci_fault, SIGBUS, 0, "external abort on linefetch");
	hook_fault_code(6, v3_pci_fault, SIGBUS, 0, "external abort on linefetch");
	hook_fault_code(8, v3_pci_fault, SIGBUS, 0, "external abort on non-linefetch");
	hook_fault_code(10, v3_pci_fault, SIGBUS, 0, "external abort on non-linefetch");

	spin_lock_irqsave(&v3_lock, flags);

+1 −1
Original line number Diff line number Diff line
@@ -987,7 +987,7 @@ void __init iop13xx_pci_init(void)
		iop13xx_atux_setup();
	}

	hook_fault_code(16+6, iop13xx_pci_abort, SIGBUS,
	hook_fault_code(16+6, iop13xx_pci_abort, SIGBUS, 0,
			"imprecise external abort");
}

+1 −1
Original line number Diff line number Diff line
@@ -209,7 +209,7 @@ ixp2000_pci_preinit(void)
			"the needed workaround has not been configured in");
#endif

	hook_fault_code(16+6, ixp2000_pci_abort_handler, SIGBUS,
	hook_fault_code(16+6, ixp2000_pci_abort_handler, SIGBUS, 0,
				"PCI config cycle to non-existent device");
}

+1 −1
Original line number Diff line number Diff line
@@ -229,7 +229,7 @@ void __init ixp23xx_pci_preinit(void)
{
	ixp23xx_pci_common_init();

	hook_fault_code(16+6, ixp23xx_pci_abort_handler, SIGBUS,
	hook_fault_code(16+6, ixp23xx_pci_abort_handler, SIGBUS, 0,
			"PCI config cycle to non-existent device");

	*IXP23XX_PCI_ADDR_EXT = 0x0000e000;
Loading