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