Remove the Control register handling from arm32_vector_init(). Apparently,

the ARM6 and ARM7 do completely the wrong thing if you read this register,
so we have to handle this a different way.
This commit is contained in:
thorpej 2002-04-10 21:45:43 +00:00
parent 6a6b4b6686
commit 27d98ca694
1 changed files with 1 additions and 19 deletions

View File

@ -1,4 +1,4 @@
/* $NetBSD: arm32_machdep.c,v 1.22 2002/04/03 23:33:28 thorpej Exp $ */
/* $NetBSD: arm32_machdep.c,v 1.23 2002/04/10 21:45:43 thorpej Exp $ */
/*
* Copyright (c) 1994-1998 Mark Brinicombe.
@ -122,25 +122,8 @@ arm32_vector_init(vaddr_t va, int which)
extern unsigned int page0[], page0_data[];
unsigned int *vectors = (int *) va;
unsigned int *vectors_data = vectors + (page0_data - page0);
unsigned int ctrl;
int vec;
/* Make sure we have a legal vector page VA. */
switch (va) {
case ARM_VECTORS_LOW:
ctrl = 0;
break;
case ARM_VECTORS_HIGH:
ctrl = CPU_CONTROL_VECRELOC;
break;
default:
panic("arm32_vector_init: invalid vector address: 0x%08lx\n",
va);
/* NOTREACHED */
}
/*
* Loop through the vectors we're taking over, and copy the
* vector's insn and data word.
@ -158,7 +141,6 @@ arm32_vector_init(vaddr_t va, int which)
cpu_icache_sync_range(va, (ARM_NVEC * 2) * sizeof(u_int));
vector_page = va;
cpu_control(CPU_CONTROL_VECRELOC, ctrl);
}
/*