[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH 0/6] Add initial support for booting x86_64 from grub
From: |
Luca Dariz |
Subject: |
[PATCH 0/6] Add initial support for booting x86_64 from grub |
Date: |
Fri, 28 Jan 2022 19:24:03 +0100 |
These patches enable basic support for booting the x86_64 build on
qemu. It's possible to load the bootstrap modules (32-bit for now) but
they can't do much yet. This seems more or less in line with the xen
port.
Next steps (in no particular order):
* test simple syscalls, e.g. mach_tsk_self(), mach_print()
* move kernel to higher addresses, even just beyond 4G would be a good
start
* enhance pmap module to actually use the L4/L3 tables, for now we're
limited to the first 8G
* fix mig types and test mach_msg() for some rpc.
Note that due to recent changes in mig, compilation for x86_64 seems
to fail currently, and we should fix mig types for this. To test these
patches, you can revert for example to this commit:
63ed32b1 mach_i386: include MACH_I386_IMPORTS
I think however it's better to have this part reviewed, and address
the mig issues in another round.
Luca Dariz (6):
add support for booting from grub with x86_64
cleanup multiboot
fix register corruption in irq on qemu
fix console setting from cmdline
enable user access
fix Task State Segment layout for 64 bit
Makefrag.am | 1 -
configure.ac | 3 +-
i386/configfrag.ac | 2 +
i386/i386/i386asm.sym | 4 +
i386/i386/ktss.c | 8 +-
i386/i386/pcb.c | 4 +
i386/i386/tss.h | 24 +++-
i386/i386/vm_param.h | 4 +-
i386/i386at/com.c | 2 +-
i386/i386at/model_dep.c | 23 ++--
i386/include/mach/i386/multiboot.h | 108 +--------------
i386/intel/pmap.c | 8 +-
i386/intel/pmap.h | 4 +
include/mach/multiboot.h | 82 -----------
kern/bootstrap.c | 20 ++-
x86_64/Makefrag.am | 18 ++-
x86_64/boothdr.S | 214 +++++++++++++++++++++++++++++
x86_64/interrupt.S | 6 +-
x86_64/ldscript | 28 ++--
x86_64/locore.S | 4 +-
20 files changed, 336 insertions(+), 231 deletions(-)
delete mode 100644 include/mach/multiboot.h
create mode 100644 x86_64/boothdr.S
--
2.30.2
- [PATCH 0/6] Add initial support for booting x86_64 from grub,
Luca Dariz <=
- [PATCH 4/6] fix console setting from cmdline, Luca Dariz, 2022/01/28
- [PATCH 3/6] fix register corruption in irq on qemu, Luca Dariz, 2022/01/28
- [PATCH 2/6] cleanup multiboot, Luca Dariz, 2022/01/28
- [PATCH 1/6] add support for booting from grub with x86_64, Luca Dariz, 2022/01/28
- [PATCH 6/6] fix Task State Segment layout for 64 bit, Luca Dariz, 2022/01/28
- [PATCH 5/6] enable user access, Luca Dariz, 2022/01/28