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

Commit 3b0eb4a1 authored by Russell King's avatar Russell King Committed by Russell King
Browse files

Merge the easy part of the IOP branch

parents 82130841 588ef769
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -233,6 +233,8 @@ config ARCH_IOP33X

config ARCH_IOP13XX
	bool "IOP13xx-based"
	depends on MMU
	select PLAT_IOP
	select PCI
	help
	  Support for Intel's IOP13XX (XScale) family of processors.
+4 −1
Original line number Diff line number Diff line
@@ -282,7 +282,10 @@ asmlinkage void do_undefinstr(struct pt_regs *regs)
	regs->ARM_pc -= correction;

	pc = (void __user *)instruction_pointer(regs);
	if (thumb_mode(regs)) {

	if (processor_mode(regs) == SVC_MODE) {
		instr = *(u32 *) pc;
	} else if (thumb_mode(regs)) {
		get_user(instr, (u16 __user *)pc);
	} else {
		get_user(instr, (u32 __user *)pc);
+3 −0
Original line number Diff line number Diff line
@@ -250,11 +250,14 @@ static struct irq_chip iop13xx_irqchip4 = {
	.unmask = iop13xx_irq_unmask3,
};

extern void iop_init_cp6_handler(void);

void __init iop13xx_init_irq(void)
{
	unsigned int i;

	u32 cp_flags = iop13xx_cp6_save();
	iop_init_cp6_handler();

	/* disable all interrupts */
	write_intctl_0(0);
+2 −0
Original line number Diff line number Diff line
@@ -60,6 +60,8 @@ void __init iop32x_init_irq(void)
{
	int i;

	iop_init_cp6_handler();

	intctl_write(0);
	intstr_write(0);
	if (machine_is_glantank() ||
+2 −0
Original line number Diff line number Diff line
@@ -110,6 +110,8 @@ void __init iop33x_init_irq(void)
{
	int i;

	iop_init_cp6_handler();

	intctl0_write(0);
	intctl1_write(0);
	intstr0_write(0);
Loading