Changeset 49eb681 in mainline
- Timestamp:
- 2010-06-28T23:58:20Z (14 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 9a21f9d
- Parents:
- e3038b4
- Location:
- kernel
- Files:
-
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/arch/ia32/include/smp/mps.h
re3038b4 r49eb681 27 27 */ 28 28 29 /** @addtogroup ia32 29 /** @addtogroup ia32 30 30 * @{ 31 31 */ … … 41 41 #include <arch/smp/smp.h> 42 42 43 #define CT_EXT_ENTRY_TYPE 44 #define CT_EXT_ENTRY_LEN 43 #define CT_EXT_ENTRY_TYPE 0 44 #define CT_EXT_ENTRY_LEN 1 45 45 46 46 struct mps_fs { … … 70 70 uint16_t ext_table_length; 71 71 uint8_t ext_table_checksum; 72 uint8_t xxx;72 uint8_t reserved; 73 73 uint8_t base_table[0]; 74 74 } __attribute__ ((packed)); … … 81 81 uint8_t cpu_signature[4]; 82 82 uint32_t feature_flags; 83 uint32_t xxx[2];83 uint32_t reserved[2]; 84 84 } __attribute__ ((packed)); 85 85 … … 102 102 uint8_t intr_type; 103 103 uint8_t poel; 104 uint8_t xxx;104 uint8_t reserved; 105 105 uint8_t src_bus_id; 106 106 uint8_t src_bus_irq; … … 113 113 uint8_t intr_type; 114 114 uint8_t poel; 115 uint8_t xxx;115 uint8_t reserved; 116 116 uint8_t src_bus_id; 117 117 uint8_t src_bus_irq; -
kernel/arch/ia32/src/ia32.c
re3038b4 r49eb681 139 139 { 140 140 #ifdef CONFIG_SMP 141 141 if (config.cpu_active > 1) { 142 142 l_apic_init(); 143 143 l_apic_debug(); -
kernel/genarch/include/acpi/acpi.h
re3038b4 r49eb681 27 27 */ 28 28 29 /** @addtogroup genarch 29 /** @addtogroup genarch 30 30 * @{ 31 31 */ -
kernel/genarch/include/acpi/madt.h
re3038b4 r49eb681 27 27 */ 28 28 29 /** @addtogroup genarch 29 /** @addtogroup genarch 30 30 * @{ 31 31 */ … … 40 40 #include <arch/smp/smp.h> 41 41 42 #define MADT_L_APIC043 #define MADT_IO_APIC 44 #define MADT_INTR_SRC_OVRD 45 #define MADT_NMI_SRC 46 #define MADT_L_APIC_NMI 47 #define MADT_L_APIC_ADDR_OVRD 48 #define MADT_IO_SAPIC 49 #define MADT_L_SAPIC 50 #define MADT_PLATFORM_INTR_SRC 51 #define MADT_RESERVED_SKIP_BEGIN 52 #define MADT_RESERVED_SKIP_END 53 #define MADT_RESERVED_OEM_BEGIN 42 #define MADT_L_APIC 0 43 #define MADT_IO_APIC 1 44 #define MADT_INTR_SRC_OVRD 2 45 #define MADT_NMI_SRC 3 46 #define MADT_L_APIC_NMI 4 47 #define MADT_L_APIC_ADDR_OVRD 5 48 #define MADT_IO_SAPIC 6 49 #define MADT_L_SAPIC 7 50 #define MADT_PLATFORM_INTR_SRC 8 51 #define MADT_RESERVED_SKIP_BEGIN 9 52 #define MADT_RESERVED_SKIP_END 127 53 #define MADT_RESERVED_OEM_BEGIN 128 54 54 55 55 struct madt_apic_header { … … 57 57 uint8_t length; 58 58 } __attribute__ ((packed)); 59 60 59 61 60 /* Multiple APIC Description Table */ … … 71 70 uint8_t acpi_id; 72 71 uint8_t apic_id; 73 uint32_t flags; 72 uint32_t flags; 74 73 } __attribute__ ((packed)); 75 74 … … 78 77 uint8_t io_apic_id; 79 78 uint8_t reserved; 80 uint32_t io_apic_address; 79 uint32_t io_apic_address; 81 80 uint32_t global_intr_base; 82 81 } __attribute__ ((packed)); … … 114 113 uint8_t reserved; 115 114 uint32_t global_intr_base; 116 uint64_t io_apic_address; 115 uint64_t io_apic_address; 117 116 } __attribute__ ((packed)); 118 117 -
kernel/generic/include/smp/ipi.h
re3038b4 r49eb681 43 43 #else 44 44 45 45 #define ipi_broadcast(ipi) 46 46 47 47 #endif /* CONFIG_SMP */ -
kernel/generic/src/main/kinit.c
re3038b4 r49eb681 107 107 if (config.cpu_count > 1) { 108 108 waitq_initialize(&ap_completion_wq); 109 109 110 /* 110 111 * Create the kmp thread and wait for its completion. … … 124 125 thread_join(thread); 125 126 thread_detach(thread); 126 } 127 128 if (config.cpu_count > 1) { 127 128 /* 129 * For each CPU, create its load balancing thread. 130 */ 129 131 size_t i; 130 132 131 /*132 * For each CPU, create its load balancing thread.133 */134 133 for (i = 0; i < config.cpu_count; i++) { 135 134 thread = thread_create(kcpulb, NULL, TASK, THREAD_FLAG_WIRED, "kcpulb", true); -
kernel/generic/src/mm/tlb.c
re3038b4 r49eb681 94 94 95 95 cpu_t *cpu = &cpus[i]; 96 96 97 irq_spinlock_lock(&cpu->lock, false); 97 98 if (cpu->tlb_messages_count == TLB_MESSAGE_QUEUE_LEN) { … … 121 122 122 123 busy_wait: 123 for (i = 0; i < config.cpu_count; i++) 124 for (i = 0; i < config.cpu_count; i++) { 124 125 if (cpus[i].tlb_active) 125 126 goto busy_wait; 127 } 126 128 127 129 return ipl;
Note:
See TracChangeset
for help on using the changeset viewer.