bug-hurd
[Top][All Lists]
Advanced

[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




reply via email to

[Prev in Thread] Current Thread [Next in Thread]