Changeset 776c91a in mainline
- Timestamp:
- 2005-09-03T18:32:50Z (19 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 78665c0
- Parents:
- 5e2455a
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
arch/amd64/include/pm.h
r5e2455a r776c91a 117 117 } __attribute__ ((packed)); 118 118 119 struct ptr_16_32 { 120 __u16 limit; 121 __u32 base; 122 } __attribute__ ((packed)); 123 119 124 struct tss { 120 125 __u32 reserve1; … … 141 146 142 147 extern struct ptr_16_64 gdtr; 148 extern struct ptr_16_32 bsp_bootstrap_gdtr; 149 extern struct ptr_16_32 ap_bootstrap_gdtr; 143 150 144 151 extern void pm_init(void); -
arch/amd64/src/boot/boot.S
r5e2455a r776c91a 67 67 68 68 # Load gdtr, idtr 69 lgdt gdtr_inst 70 # Load idtr, but it contains mess - we should not get interrupt 71 # anyway 72 lidt idtr_inst 69 lgdt bsp_bootstrap_gdtr 73 70 74 71 movl %cr0,%eax … … 155 152 156 153 .global gdtr_inst 157 gdtr_inst:154 bsp_bootstrap_gdtr: 158 155 .word gdtselector(GDT_ITEMS) 159 156 .long KA2PA(gdt) 160 157 161 .global idtr_inst162 idtr_inst:163 .word idtselector(IDT_ITEMS)164 .long KA2PA( idt)158 .global ap_bootstrap_gdtr 159 ap_bootstrap_gdtr: 160 .word gdtselector(GDT_ITEMS) 161 .long KA2PA(gdt) -
arch/ia32/include/smp/mps.h
r5e2455a r776c91a 41 41 struct mps_fs { 42 42 __u32 signature; 43 struct mps_ct *configuration_table;43 __u32 configuration_table; 44 44 __u8 length; 45 45 __u8 revision; … … 59 59 __u8 oem_id[8]; 60 60 __u8 product_id[12]; 61 __u 8 *oem_table;61 __u32 oem_table; 62 62 __u16 oem_table_size; 63 63 __u16 entry_count; 64 __u32 *l_apic;64 __u32 l_apic; 65 65 __u16 ext_table_length; 66 66 __u8 ext_table_checksum; … … 90 90 __u8 io_apic_version; 91 91 __u8 io_apic_flags; 92 __u32 *io_apic;92 __u32 io_apic; 93 93 } __attribute__ ((packed)); 94 94 -
arch/ia32/src/smp/mps.c
r5e2455a r776c91a 162 162 void mps_init(void) 163 163 { 164 __u8 *addr[2] = { NULL, (__u8 *) 0xf0000};164 __u8 *addr[2] = { NULL, (__u8 *) PA2KA(0xf0000) }; 165 165 int i, j, length[2] = { 1024, 64*1024 }; 166 166 … … 173 173 */ 174 174 175 addr[0] = (__u8 *) (ebda ? ebda : 639 * 1024);175 addr[0] = (__u8 *) PA2KA(ebda ? ebda : 639 * 1024); 176 176 for (i = 0; i < 2; i++) { 177 177 for (j = 0; j < length[i]; j += 16) { … … 196 196 } 197 197 198 ct = fs->configuration_table;198 ct = (struct mps_ct *)PA2KA((__address)fs->configuration_table); 199 199 frame_not_free((__address) ct); 200 200 config.cpu_count = configure_via_ct(); … … 224 224 } 225 225 226 l_apic = ct->l_apic;226 l_apic = (__u32 *)PA2KA((__address)ct->l_apic); 227 227 228 228 cnt = 0; … … 334 334 } 335 335 336 io_apic = ioa->io_apic;336 io_apic = (__u32 *)PA2KA((__address)ioa->io_apic); 337 337 } 338 338 -
arch/ia32/src/smp/smp.c
r5e2455a r776c91a 63 63 64 64 if (config.cpu_count > 1) { 65 map_page_to_frame((__address) l_apic, (__address) l_apic, PAGE_NOT_CACHEABLE, 0); 66 map_page_to_frame((__address) io_apic, (__address) io_apic, PAGE_NOT_CACHEABLE, 0); 65 map_page_to_frame((__address)l_apic, KA2PA((__address)l_apic), 66 PAGE_NOT_CACHEABLE, 0); 67 map_page_to_frame((__address) io_apic, 68 KA2PA((__address) io_apic), 69 PAGE_NOT_CACHEABLE, 0); 67 70 } 68 71 -
src/Makefile.config
r5e2455a r776c91a 6 6 7 7 # Support for symetric multiprocessors 8 SMP=__SMP__8 #SMP=__SMP__ 9 9 10 10 # Improved support for hyperthreading
Note:
See TracChangeset
for help on using the changeset viewer.