diff options
author | dzwdz | 2022-06-30 17:27:48 +0200 |
---|---|---|
committer | dzwdz | 2022-06-30 17:27:48 +0200 |
commit | 38d9f87c5086ca132fea43912d6f6ad777c2c852 (patch) | |
tree | 3f236c877d8adb299198af4760d903f900d381fc /src/kernel | |
parent | bf4f2bb63ed01026b1078f5f7ebfc005bb4bf6d3 (diff) |
kernel/linker: rename .text.early to .shared
It's not really just a text section, as it's writeable too. Makes gcc
shut up about invalid section attributes.
Diffstat (limited to 'src/kernel')
-rw-r--r-- | src/kernel/arch/i386/gdt/gdt.c | 4 | ||||
-rw-r--r-- | src/kernel/arch/i386/interrupts/idt.c | 2 | ||||
-rw-r--r-- | src/kernel/arch/i386/interrupts/isr_stub.s | 2 | ||||
-rw-r--r-- | src/kernel/arch/i386/sysenter.s | 2 | ||||
-rw-r--r-- | src/kernel/linker.ld | 6 | ||||
-rw-r--r-- | src/kernel/proc.c | 6 |
6 files changed, 11 insertions, 11 deletions
diff --git a/src/kernel/arch/i386/gdt/gdt.c b/src/kernel/arch/i386/gdt/gdt.c index 3662bf6..3521052 100644 --- a/src/kernel/arch/i386/gdt/gdt.c +++ b/src/kernel/arch/i386/gdt/gdt.c @@ -38,9 +38,9 @@ struct lgdt_arg { uint32_t base; } __attribute__((packed)); -__attribute__((section(".text.early"))) +__attribute__((section(".shared"))) static struct gdt_entry GDT[SEG_end]; -__attribute__((section(".text.early"))) +__attribute__((section(".shared"))) static struct tss_entry TSS; static struct lgdt_arg lgdt_arg; // probably doesn't need to be global diff --git a/src/kernel/arch/i386/interrupts/idt.c b/src/kernel/arch/i386/interrupts/idt.c index d295d84..cd2adfd 100644 --- a/src/kernel/arch/i386/interrupts/idt.c +++ b/src/kernel/arch/i386/interrupts/idt.c @@ -23,7 +23,7 @@ struct lidt_arg { uint32_t base; } __attribute__((packed)); -__attribute__((section(".text.early"))) +__attribute__((section(".shared"))) static struct idt_entry IDT[256]; static struct lidt_arg lidt_arg; diff --git a/src/kernel/arch/i386/interrupts/isr_stub.s b/src/kernel/arch/i386/interrupts/isr_stub.s index c09d4b2..42f2aa6 100644 --- a/src/kernel/arch/i386/interrupts/isr_stub.s +++ b/src/kernel/arch/i386/interrupts/isr_stub.s @@ -1,4 +1,4 @@ -.section .text.early +.section .shared .global _isr_stubs _isr_stubs: diff --git a/src/kernel/arch/i386/sysenter.s b/src/kernel/arch/i386/sysenter.s index 70e9f13..edfabf0 100644 --- a/src/kernel/arch/i386/sysenter.s +++ b/src/kernel/arch/i386/sysenter.s @@ -28,7 +28,7 @@ sysenter_setup: ret -.section .text.early +.section .shared .global stored_eax stored_eax: diff --git a/src/kernel/linker.ld b/src/kernel/linker.ld index 371f2d7..278548e 100644 --- a/src/kernel/linker.ld +++ b/src/kernel/linker.ld @@ -3,11 +3,11 @@ ENTRY(_start) SECTIONS { . = 0; - .text.early BLOCK(4K) : ALIGN(4K) + .shared BLOCK(4K) : ALIGN(4K) { *(.multiboot) - *(.text.early) - _text_early_len = .; + *(.shared) + _shared_len = .; } . = 1M; diff --git a/src/kernel/proc.c b/src/kernel/proc.c index 636c237..90e24f7 100644 --- a/src/kernel/proc.c +++ b/src/kernel/proc.c @@ -26,9 +26,9 @@ struct process *process_seed(struct kmain_info *info) { pagedir_map(process_first->pages, (userptr_t)~PAGE_MASK, page_alloc(1), true, true); process_first->regs.esp = (userptr_t) ~0xF; - // map .text.early - extern char _text_early_len; - for (size_t p = 0; p < (size_t)&_text_early_len; p += PAGE_SIZE) + // map .shared + extern char _shared_len; + for (size_t p = 0; p < (size_t)&_shared_len; p += PAGE_SIZE) pagedir_map(process_first->pages, (userptr_t)p, (void*)p, false, true); // map the init module as rw |