Changeset 76cec1e in mainline for arch/mips/src
- Timestamp:
- 2005-07-15T21:57:30Z (21 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- b4a4c5e3
- Parents:
- e41c47e
- Location:
- arch/mips/src
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
arch/mips/src/cpu/cpu.c
re41c47e r76cec1e 40 40 char *model; 41 41 } imp_data[] = { 42 { "Invalid", "Invalid" }, /* 0x00 */43 { "MIPS", "R2000" },/* 0x01 */44 { "MIPS", "R3000" },/* 0x02 */45 { "MIPS", "R6000" },/* 0x03 */46 { "MIPS", " R4000/R4400" },/* 0x04 */47 { "LSI Logic", "R3000" }, /* 0x05 */48 { "MIPS", "R6000A" },/* 0x06 */49 { "IDT", "3051/3052" },/* 0x07 */50 { "Invalid", "Invalid" }, /* 0x08 */51 { "MIPS", "R10000/T5" }, /* 0x09 */52 { "MIPS", "R4200" },/* 0x0a */53 { "Unknown", "Unknown" }, /* 0x0b */54 { "Unknown", "Unknown" }, /* 0x0c */55 { "Invalid", "Invalid" }, /* 0x0d */56 { "Invalid", "Invalid" }, /* 0x0e */57 { "Invalid", "Invalid" }, /* 0x0f */58 { "MIPS", "R8000" },/* 0x10 */59 { "Invalid", "Invalid" }, /* 0x11 */60 { "Invalid", "Invalid" }, /* 0x12 */61 { "Invalid", "Invalid" }, /* 0x13 */62 { "Invalid", "Invalid" }, /* 0x14 */63 { "Invalid", "Invalid" }, /* 0x15 */64 { "Invalid", "Invalid" }, /* 0x16 */65 { "Invalid", "Invalid" }, /* 0x17 */66 { "Invalid", "Invalid" }, /* 0x18 */67 { "Invalid", "Invalid" }, /* 0x19 */68 { "Invalid", "Invalid" }, /* 0x1a */69 { "Invalid", "Invalid" }, /* 0x1b */70 { "Invalid", "Invalid" }, /* 0x1c */71 { "Invalid", "Invalid" }, /* 0x1d */72 { "Invalid", "Invalid" }, /* 0x1e */73 { "Invalid", "Invalid" }, /* 0x1f */74 { "QED", "R4600" }, /* 0x20 */75 { "Sony", "R3000" },/* 0x21 */76 { "Toshiba", "R3000" },/* 0x22 */77 { "NKK", "R3000" } /* 0x23 */42 { "Invalid", "Invalid" }, /* 0x00 */ 43 { "MIPS", "R2000" }, /* 0x01 */ 44 { "MIPS", "R3000" }, /* 0x02 */ 45 { "MIPS", "R6000" }, /* 0x03 */ 46 { "MIPS", " R4000/R4400" }, /* 0x04 */ 47 { "LSI Logic", "R3000" }, /* 0x05 */ 48 { "MIPS", "R6000A" }, /* 0x06 */ 49 { "IDT", "3051/3052" }, /* 0x07 */ 50 { "Invalid", "Invalid" }, /* 0x08 */ 51 { "MIPS", "R10000/T5" }, /* 0x09 */ 52 { "MIPS", "R4200" }, /* 0x0a */ 53 { "Unknown", "Unknown" }, /* 0x0b */ 54 { "Unknown", "Unknown" }, /* 0x0c */ 55 { "Invalid", "Invalid" }, /* 0x0d */ 56 { "Invalid", "Invalid" }, /* 0x0e */ 57 { "Invalid", "Invalid" }, /* 0x0f */ 58 { "MIPS", "R8000" }, /* 0x10 */ 59 { "Invalid", "Invalid" }, /* 0x11 */ 60 { "Invalid", "Invalid" }, /* 0x12 */ 61 { "Invalid", "Invalid" }, /* 0x13 */ 62 { "Invalid", "Invalid" }, /* 0x14 */ 63 { "Invalid", "Invalid" }, /* 0x15 */ 64 { "Invalid", "Invalid" }, /* 0x16 */ 65 { "Invalid", "Invalid" }, /* 0x17 */ 66 { "Invalid", "Invalid" }, /* 0x18 */ 67 { "Invalid", "Invalid" }, /* 0x19 */ 68 { "Invalid", "Invalid" }, /* 0x1a */ 69 { "Invalid", "Invalid" }, /* 0x1b */ 70 { "Invalid", "Invalid" }, /* 0x1c */ 71 { "Invalid", "Invalid" }, /* 0x1d */ 72 { "Invalid", "Invalid" }, /* 0x1e */ 73 { "Invalid", "Invalid" }, /* 0x1f */ 74 { "QED", "R4600" }, /* 0x20 */ 75 { "Sony", "R3000" }, /* 0x21 */ 76 { "Toshiba", "R3000" }, /* 0x22 */ 77 { "NKK", "R3000" } /* 0x23 */ 78 78 }; 79 79 -
arch/mips/src/interrupt.c
re41c47e r76cec1e 36 36 pri_t cpu_priority_high(void) 37 37 { 38 pri_t pri = (pri_t) cp0_status_read();39 cp0_status_write(pri & ~cp0_status_ie_enabled_bit);40 return pri;38 pri_t pri = (pri_t) cp0_status_read(); 39 cp0_status_write(pri & ~cp0_status_ie_enabled_bit); 40 return pri; 41 41 } 42 42 43 43 pri_t cpu_priority_low(void) 44 44 { 45 pri_t pri = (pri_t) cp0_status_read();46 cp0_status_write(pri | cp0_status_ie_enabled_bit);47 return pri;45 pri_t pri = (pri_t) cp0_status_read(); 46 cp0_status_write(pri | cp0_status_ie_enabled_bit); 47 return pri; 48 48 } 49 49 50 50 void cpu_priority_restore(pri_t pri) 51 51 { 52 cp0_status_write(cp0_status_read() | (pri & cp0_status_ie_enabled_bit));52 cp0_status_write(cp0_status_read() | (pri & cp0_status_ie_enabled_bit)); 53 53 } 54 54 55 55 pri_t cpu_priority_read(void) 56 56 { 57 return cp0_status_read();57 return cp0_status_read(); 58 58 } 59 59 … … 85 85 case 7: /* Timer Interrupt */ 86 86 cp0_compare_write(cp0_compare_value); /* clear timer interrupt */ 87 /* start counting over again */88 cp0_count_write(0); 87 /* start counting over again */ 88 cp0_count_write(0); 89 89 clock(); 90 90 break; -
arch/mips/src/mips.c
re41c47e r76cec1e 38 38 */ 39 39 cp0_status_write(cp0_status_read() & ~(cp0_status_bev_bootstrap_bit|cp0_status_erl_error_bit)); 40 40 41 41 /* 42 42 * Unmask hardware clock interrupt. 43 43 */ 44 44 cp0_status_write(cp0_status_read() | (1<<cp0_status_im7_shift)); 45 45 46 46 /* 47 47 * Start hardware clock. -
arch/mips/src/start.S
re41c47e r76cec1e 52 52 j cache_error_handler 53 53 nop 54 54 55 55 .org 0x180 56 56 exception_entry: … … 58 58 sub $29, STACK_SPACE 59 59 REGISTERS_STORE $29 60 60 61 61 jal exception 62 62 nop 63 63 64 64 REGISTERS_LOAD $29 65 65 add $29, STACK_SPACE … … 70 70 sub $29, STACK_SPACE 71 71 REGISTERS_STORE $29 72 72 73 73 jal tlb_refill 74 74 nop 75 75 76 76 REGISTERS_LOAD $29 77 77 add $29, STACK_SPACE 78 78 79 79 eret 80 80 … … 85 85 jal cache_error 86 86 nop 87 87 88 88 REGISTERS_LOAD $29 89 89 add $29, STACK_SPACE
Note:
See TracChangeset
for help on using the changeset viewer.
