Merge commit 'jwb/next' into next
This commit is contained in:
@@ -34,6 +34,7 @@ _GLOBAL(__setup_cpu_440grx)
|
||||
blr
|
||||
_GLOBAL(__setup_cpu_460ex)
|
||||
_GLOBAL(__setup_cpu_460gt)
|
||||
_GLOBAL(__setup_cpu_460sx)
|
||||
mflr r4
|
||||
bl __init_fpu_44x
|
||||
bl __fixup_440A_mcheck
|
||||
|
@@ -47,6 +47,7 @@ extern void __setup_cpu_440spe(unsigned long offset, struct cpu_spec* spec);
|
||||
extern void __setup_cpu_440x5(unsigned long offset, struct cpu_spec* spec);
|
||||
extern void __setup_cpu_460ex(unsigned long offset, struct cpu_spec* spec);
|
||||
extern void __setup_cpu_460gt(unsigned long offset, struct cpu_spec* spec);
|
||||
extern void __setup_cpu_460sx(unsigned long offset, struct cpu_spec *spec);
|
||||
extern void __setup_cpu_603(unsigned long offset, struct cpu_spec* spec);
|
||||
extern void __setup_cpu_604(unsigned long offset, struct cpu_spec* spec);
|
||||
extern void __setup_cpu_750(unsigned long offset, struct cpu_spec* spec);
|
||||
@@ -1638,6 +1639,19 @@ static struct cpu_spec __initdata cpu_specs[] = {
|
||||
.machine_check = machine_check_440A,
|
||||
.platform = "ppc440",
|
||||
},
|
||||
{ /* 460SX */
|
||||
.pvr_mask = 0xffffff00,
|
||||
.pvr_value = 0x13541800,
|
||||
.cpu_name = "460SX",
|
||||
.cpu_features = CPU_FTRS_44X,
|
||||
.cpu_user_features = COMMON_USER_BOOKE,
|
||||
.mmu_features = MMU_FTR_TYPE_44x,
|
||||
.icache_bsize = 32,
|
||||
.dcache_bsize = 32,
|
||||
.cpu_setup = __setup_cpu_460sx,
|
||||
.machine_check = machine_check_440A,
|
||||
.platform = "ppc440",
|
||||
},
|
||||
{ /* default match */
|
||||
.pvr_mask = 0x00000000,
|
||||
.pvr_value = 0x00000000,
|
||||
|
@@ -10,6 +10,15 @@
|
||||
mtspr SPRN_IVOR##vector_number,r26; \
|
||||
sync
|
||||
|
||||
#if (THREAD_SHIFT < 15)
|
||||
#define ALLOC_STACK_FRAME(reg, val) \
|
||||
addi reg,reg,val
|
||||
#else
|
||||
#define ALLOC_STACK_FRAME(reg, val) \
|
||||
addis reg,reg,val@ha; \
|
||||
addi reg,reg,val@l
|
||||
#endif
|
||||
|
||||
#define NORMAL_EXCEPTION_PROLOG \
|
||||
mtspr SPRN_SPRG0,r10; /* save two registers to work with */\
|
||||
mtspr SPRN_SPRG1,r11; \
|
||||
@@ -20,7 +29,7 @@
|
||||
beq 1f; \
|
||||
mfspr r1,SPRN_SPRG3; /* if from user, start at top of */\
|
||||
lwz r1,THREAD_INFO-THREAD(r1); /* this thread's kernel stack */\
|
||||
addi r1,r1,THREAD_SIZE; \
|
||||
ALLOC_STACK_FRAME(r1, THREAD_SIZE); \
|
||||
1: subi r1,r1,INT_FRAME_SIZE; /* Allocate an exception frame */\
|
||||
mr r11,r1; \
|
||||
stw r10,_CCR(r11); /* save various registers */\
|
||||
|
Reference in New Issue
Block a user