diff --git a/kernel/link.lds b/kernel/link.lds index 0ffaec9b..beff2742 100644 --- a/kernel/link.lds +++ b/kernel/link.lds @@ -20,23 +20,26 @@ SECTIONS } . += KERNEL_VMA; + . = ALIGN(32768); text_start_pa = .; .text (text_start_pa): AT(text_start_pa - KERNEL_VMA) { _text = .; *(.text) + _etext = .; } - . = ALIGN(8); + . = ALIGN(32768); data_start_pa = .; .data (data_start_pa): AT(data_start_pa - KERNEL_VMA) { _data = .; *(.data) - + _edata = .; } + . = ALIGN(32768); rodata_start_pa = .; .rodata (rodata_start_pa): AT(rodata_start_pa - KERNEL_VMA) { @@ -51,6 +54,7 @@ SECTIONS .data.init_proc_union (init_proc_union_start_pa): AT(init_proc_union_start_pa - KERNEL_VMA) { *(.data.init_proc_union) } + . = ALIGN(32768); bss_start_pa = .; .bss (bss_start_pa): AT(bss_start_pa - KERNEL_VMA) { diff --git a/kernel/process/process.c b/kernel/process/process.c index 5968d1b3..9669c494 100644 --- a/kernel/process/process.c +++ b/kernel/process/process.c @@ -52,11 +52,7 @@ void __switch_to(struct process_control_block *prev, struct process_control_bloc __asm__ __volatile__("movq %0, %%fs \n\t" ::"a"(next->thread->fs)); __asm__ __volatile__("movq %0, %%gs \n\t" ::"a"(next->thread->gs)); // wrmsr(0x175, next->thread->rbp); - uint color; - if (proc_current_cpu_id == 0) - color = WHITE; - else - color = YELLOW; + } /**