feat(syscall): 添加syscall table的实现 (#1164)

* feat(syscall): 添加syscall table的实现

- 实现syscall table
- 为syscall table适配write/writev、read和readv系统调用

---------

Signed-off-by: longjin <longjin@DragonOS.org>
This commit is contained in:
LoGin
2025-05-13 18:59:18 +08:00
committed by GitHub
parent 545bc2c346
commit b322121dd9
29 changed files with 874 additions and 227 deletions

View File

@ -74,8 +74,18 @@ SECTIONS
*(.tracepoint.*)
_etracepoint = .;
}
. = ALIGN(32768);
. = ALIGN(4096);
syscall_table_start_pa = .;
.syscall_table (syscall_table_start_pa):
{
_syscall_table = .;
*(.syscall_table)
*(.syscall_table.*)
_esyscall_table = .;
}
. = ALIGN(32768);
init_proc_union_start_pa = .;
.data.init_proc_union (init_proc_union_start_pa):
{ *(.data.init_proc_union) }

View File

@ -76,8 +76,19 @@ SECTIONS
*(.tracepoint.*)
_etracepoint = .;
}
. = ALIGN(32768);
. = ALIGN(4096);
syscall_table_start_pa = .;
.syscall_table (syscall_table_start_pa): AT(syscall_table_start_pa - KERNEL_VMA)
{
_syscall_table = .;
*(.syscall_table)
*(.syscall_table.*)
_esyscall_table = .;
}
. = ALIGN(32768);
init_proc_union_start_pa = .;
.data.init_proc_union (init_proc_union_start_pa): AT(init_proc_union_start_pa - KERNEL_VMA)
{ *(.data.init_proc_union) }

View File

@ -40,7 +40,7 @@ SECTIONS
_etext = .;
__etext = .;
}
. = ALIGN(32768);
. = ALIGN(4096);
data_start_pa = .;
.data (data_start_pa): AT(data_start_pa - KERNEL_VMA)
{
@ -51,7 +51,7 @@ SECTIONS
_edata = .;
}
. = ALIGN(32768);
. = ALIGN(4096);
rodata_start_pa = .;
.rodata (rodata_start_pa): AT(rodata_start_pa - KERNEL_VMA)
@ -65,7 +65,7 @@ SECTIONS
_erodata = .;
}
. = ALIGN(32768);
. = ALIGN(4096);
trace_point_start_pa = .;
.tracepoint (trace_point_start_pa): AT(trace_point_start_pa - KERNEL_VMA)
@ -75,8 +75,18 @@ SECTIONS
*(.tracepoint.*)
_etracepoint = .;
}
. = ALIGN(32768);
. = ALIGN(4096);
syscall_table_start_pa = .;
.syscall_table (syscall_table_start_pa): AT(syscall_table_start_pa - KERNEL_VMA)
{
_syscall_table = .;
*(.syscall_table)
*(.syscall_table.*)
_esyscall_table = .;
}
. = ALIGN(32768);
init_proc_union_start_pa = .;
.data.init_proc_union (init_proc_union_start_pa): AT(init_proc_union_start_pa - KERNEL_VMA)
{ *(.data.init_proc_union) }