summaryrefslogtreecommitdiff
path: root/src/kernel
diff options
context:
space:
mode:
authordzwdz2022-06-30 17:27:48 +0200
committerdzwdz2022-06-30 17:27:48 +0200
commit38d9f87c5086ca132fea43912d6f6ad777c2c852 (patch)
tree3f236c877d8adb299198af4760d903f900d381fc /src/kernel
parentbf4f2bb63ed01026b1078f5f7ebfc005bb4bf6d3 (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.c4
-rw-r--r--src/kernel/arch/i386/interrupts/idt.c2
-rw-r--r--src/kernel/arch/i386/interrupts/isr_stub.s2
-rw-r--r--src/kernel/arch/i386/sysenter.s2
-rw-r--r--src/kernel/linker.ld6
-rw-r--r--src/kernel/proc.c6
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