UEFI x86 support #2242

Closed
alex-ab opened this Issue Jan 18, 2017 · 43 comments

Comments

Projects
None yet
8 participants
@alex-ab
Member

alex-ab commented Jan 18, 2017

will require another boot-loader than the currently used GRUB legacy. Either we have to develop something own special or go with GRUB2, which seems to be the natural choice.

For the moment I experimented a bit with GRUB2 and that are the current findings with loading Genode/NOVA and Genode/hw via GRUB2 UEFI.

Serial/UART output

Up to now we used Bender as a chained bootloader to lookup the PCI devices which provide a Serial/UART interface. Bender wrote the findings about the I/O ports into the Extended BIOS Data Area (EBDA), which the kernels and Genode/core looked up to print messages via the UART.

The question is, whether we can keep this way for UEFI (EBDA is not anymore) or we have to find another way, e.g.

  • adding a Multiboot or Multiboot2 element about the I/O ports (non-complex, convenient, not MULTIBOOT/MULTIBOOT2 standard)
  • or we expect that the kernel or Genode/Core have to lookup the PCI devices by itself (complex but convenient)
  • or if they have to be configured manually (in-convenient).

For the moment I hardcoded the I/O ports in the kernel and Genode/core, which is really in-convenient. But even more in-convenient is, that the PCI serial card for AMT SOL is by default not usable on my testmachine. One has to manually enable in the Command Register of the PCI device the I/O Space bit (http://wiki.osdev.org/PCI) for each boot - grub2 terminal

setpci COMMANDS
setpci -s xx:xx.x 4.b=1

ACPI

The lookup of the ACPI RSDP (Root System Description Pointer) the old way seems to be not possible anymore. The pointer was located either within the first 1KB of the EBDA or in the main BIOS area 0xE0000 to 0xFFFFF.
In the UEFI case the pointer gets reported via the EFI_SYSTEM_TABLE to the bootloader, which is in our case GRUB2.

Unfortunately, GRUB2 does not report the RSDP pointer via the Multiboot structure, however does so for the Multiboot2 structure.

For that reason I extended NOVA to be able to be loaded as Multiboot2 compliant kernel and to parse the Multiboot2 structure. With this information I was able to boot all CPUs and to start Genode/core. Genode/hw booted as normal Multiboot compliant kernel out-of-the-box, since it does not require (currently) the RSDP ACPI pointer.

The next issue is that our platform driver also searches the old way for the ACPI RSDP pointer, which it does not find. In general we will need a way to report the ACPI RSDP pointer via the kernel to Genode/core and from there to the platform driver of Genode. Maybe this is a good point to abanonded the usage of HIP, KIP etc as Genode ROM and instead provide some standardized Genode ROM with absolutely necessary information about the platform which can't be gathered otherwise.

NOVA

With the kernel patch the microkernel can be booted as Multiboot as also Multiboot2.
However an issue shows up on real hardware sometimes. If the GRUB2 bootloader decides to put the Multiboot2 data structure at physical address 0x1000, the NOVA kernel will override it silently and later on the bootstrap of the CPUs will get stuck. One can change the location in the kernel in start.S and lapic.cpp and than everything comes up, but this is a hack and blows up the next time the bootloader chooses the same location as the kernel does.

Further open points

  • PS/2 still available or replacement required ?
  • VESA driver still possible or need some UEFI Framebuffer driver ?

Current state

I compiled a GRUB2 UEFI 32bit and 64bit version and added it to our tool/boot directory. Additionally I extended our ISO creation tool (mainly use mkisofs and isohybrid the right way) by the both GRUB2 UEFI boot loaders, so that this ISO comes up on UEFI machines. From my perspective it is reaaally convenient for external users to have one image that boots nearly everywhere, but the dark magic to setup such a hybrid ISO is scary.

Qemu ships not by default with a UEFI firmware, therefore I compiled one of Tianocore/OVMF http://www.tianocore.org/ovmf and added it to tool/boot.

qemu-system-x86_64 --bios tool/boot/tianocore -net none format=raw,file=build/../*.iso -serial stdio

or

qemu-system-x86_64 --bios tool/boot/tianocore -net none -cdrom build/../*.iso -serial stdio

On Qemu I got good first results and it is a good starting point to make further steps. On real hardware, however, the current state is of limited use - because of the open points: manual PCI serial card enablement, manual Serial I/O ports configuration, missing ACPI information in the platform driver and a GRUB2<->NOVA kernel interaction issue regarding the second physical page.

@alex-ab alex-ab added the feature label Jan 18, 2017

alex-ab added a commit to alex-ab/genode that referenced this issue Jan 18, 2017

alex-ab added a commit to alex-ab/genode that referenced this issue Jan 18, 2017

alex-ab added a commit to alex-ab/genode that referenced this issue Jan 18, 2017

alex-ab added a commit to alex-ab/genode that referenced this issue Jan 18, 2017

alex-ab added a commit to alex-ab/genode that referenced this issue Jan 18, 2017

@alex-ab alex-ab changed the title from UEFI x86_32/64 support to UEFI x86 support Jan 18, 2017

@skalk

This comment has been minimized.

Show comment
Hide comment
@skalk

skalk Jan 18, 2017

Member

I know it does not help at all, but I have to express my admiration for this excellent issue description. It reads like a book. Thank you.

Member

skalk commented Jan 18, 2017

I know it does not help at all, but I have to express my admiration for this excellent issue description. It reads like a book. Thank you.

@nfeske

This comment has been minimized.

Show comment
Hide comment
@nfeske

nfeske Jan 18, 2017

Member

Thanks for having taken the time to document your findings so well!

Member

nfeske commented Jan 18, 2017

Thanks for having taken the time to document your findings so well!

alex-ab added a commit to alex-ab/genode that referenced this issue Jan 19, 2017

alex-ab added a commit to alex-ab/genode that referenced this issue Jan 19, 2017

alex-ab added a commit to alex-ab/genode that referenced this issue Jan 19, 2017

alex-ab added a commit to alex-ab/genode that referenced this issue Jan 19, 2017

@alex-ab

This comment has been minimized.

Show comment
Hide comment
@alex-ab

alex-ab Jan 19, 2017

Member

Also added a run/image/uefi version which creates a GPT based image which also can be dd to a usb stick (it is simpler/better understandable - means no mkisofs/isohybrid magic, but of course can't be burned as CD/DVD). Thanks @nfeske for the hints regarding mtools, so no sudo required for that to create.

Member

alex-ab commented Jan 19, 2017

Also added a run/image/uefi version which creates a GPT based image which also can be dd to a usb stick (it is simpler/better understandable - means no mkisofs/isohybrid magic, but of course can't be burned as CD/DVD). Thanks @nfeske for the hints regarding mtools, so no sudo required for that to create.

alex-ab added a commit to alex-ab/genode that referenced this issue Jan 20, 2017

alex-ab added a commit to alex-ab/genode that referenced this issue Jan 30, 2017

alex-ab added a commit to alex-ab/genode that referenced this issue Jan 30, 2017

alex-ab added a commit to alex-ab/genode that referenced this issue Jan 30, 2017

alex-ab added a commit to alex-ab/genode that referenced this issue Jan 31, 2017

alex-ab added a commit to alex-ab/genode that referenced this issue Jan 31, 2017

alex-ab added a commit to alex-ab/genode that referenced this issue Jan 31, 2017

alex-ab added a commit to alex-ab/genode that referenced this issue Jan 31, 2017

alex-ab added a commit to alex-ab/genode that referenced this issue Jan 31, 2017

alex-ab added a commit to alex-ab/genode that referenced this issue Jan 31, 2017

alex-ab added a commit to alex-ab/genode that referenced this issue Jan 31, 2017

alex-ab added a commit to alex-ab/genode that referenced this issue Jan 31, 2017

alex-ab added a commit to alex-ab/genode that referenced this issue Jan 31, 2017

@alex-ab

This comment has been minimized.

Show comment
Hide comment
@alex-ab

alex-ab Jan 31, 2017

Member

The next issue is that our platform driver also searches the old way for the ACPI RSDP pointer, which it does not find. In general we will need a way to report the ACPI RSDP pointer via the kernel to Genode/core and from there to the platform driver of Genode.

This part got now fixed. The platform driver as also the acpica application looks into the ROM provided by core which contains now the rsdt/xsdt physical addresses.

Member

alex-ab commented Jan 31, 2017

The next issue is that our platform driver also searches the old way for the ACPI RSDP pointer, which it does not find. In general we will need a way to report the ACPI RSDP pointer via the kernel to Genode/core and from there to the platform driver of Genode.

This part got now fixed. The platform driver as also the acpica application looks into the ROM provided by core which contains now the rsdt/xsdt physical addresses.

alex-ab added a commit to alex-ab/genode that referenced this issue Feb 2, 2017

alex-ab added a commit to alex-ab/genode that referenced this issue Feb 2, 2017

alex-ab added a commit to alex-ab/genode that referenced this issue Feb 2, 2017

alex-ab added a commit to alex-ab/genode that referenced this issue Feb 2, 2017

alex-ab added a commit to alex-ab/genode that referenced this issue Feb 2, 2017

alex-ab added a commit to alex-ab/genode that referenced this issue Feb 2, 2017

@alex-ab

This comment has been minimized.

Show comment
Hide comment
@alex-ab

alex-ab Feb 2, 2017

Member

However an issue shows up on real hardware sometimes. If the GRUB2 bootloader decides to put the Multiboot2 data structure at physical address 0x1000, the NOVA kernel will override it silently and later on the bootstrap of the CPUs will get stuck. One can change the location in the kernel in start.S and lapic.cpp and than everything comes up, but this is a hack and blows up the next time the bootloader chooses the same location as the kernel does.

This should be fixed now. I added a segment which comprise the physical range 0x1000, so that the bootloader should be able to put nothing there (the MBI2 structure). Thanks @chelmuth for the hint.

readelf --segments build/x86_64/bin/hypervisor

Elf file type is EXEC (Executable file)
Entry point 0x201e46
There are 3 program headers, starting at offset 64

Program Headers:
  Type           Offset             VirtAddr           PhysAddr
                 FileSiz            MemSiz              Flags  Align
  LOAD           0x0000000000000100 0x0000000000200000 0x0000000000200000
                 0x0000000000002010 0x0000000000002010  RWE    40
  LOAD           0x0000000000002140 0xffffffff81000000 0x0000000001000000
                 0x0000000000022140 0x0000000002400000  RWE    40
  LOAD           0x0000000000024280 0x0000000000001000 0x0000000000001000
                 0x0000000000000000 0x0000000000001000  RWE    1

 Section to Segment mapping:
  Segment Sections...
   00     .init 
   01     .text .rodata .fixup .init_array .data .bss 
   02     .cpu_ap 
Member

alex-ab commented Feb 2, 2017

However an issue shows up on real hardware sometimes. If the GRUB2 bootloader decides to put the Multiboot2 data structure at physical address 0x1000, the NOVA kernel will override it silently and later on the bootstrap of the CPUs will get stuck. One can change the location in the kernel in start.S and lapic.cpp and than everything comes up, but this is a hack and blows up the next time the bootloader chooses the same location as the kernel does.

This should be fixed now. I added a segment which comprise the physical range 0x1000, so that the bootloader should be able to put nothing there (the MBI2 structure). Thanks @chelmuth for the hint.

readelf --segments build/x86_64/bin/hypervisor

Elf file type is EXEC (Executable file)
Entry point 0x201e46
There are 3 program headers, starting at offset 64

Program Headers:
  Type           Offset             VirtAddr           PhysAddr
                 FileSiz            MemSiz              Flags  Align
  LOAD           0x0000000000000100 0x0000000000200000 0x0000000000200000
                 0x0000000000002010 0x0000000000002010  RWE    40
  LOAD           0x0000000000002140 0xffffffff81000000 0x0000000001000000
                 0x0000000000022140 0x0000000002400000  RWE    40
  LOAD           0x0000000000024280 0x0000000000001000 0x0000000000001000
                 0x0000000000000000 0x0000000000001000  RWE    1

 Section to Segment mapping:
  Segment Sections...
   00     .init 
   01     .text .rodata .fixup .init_array .data .bss 
   02     .cpu_ap 

alex-ab added a commit to alex-ab/genode that referenced this issue Feb 2, 2017

alex-ab added a commit to alex-ab/genode that referenced this issue Feb 3, 2017

alex-ab added a commit to alex-ab/genode that referenced this issue Feb 3, 2017

@alex-ab

This comment has been minimized.

Show comment
Hide comment
@alex-ab

alex-ab Feb 3, 2017

Member

For the moment I hardcoded the I/O ports in the kernel and Genode/core, which is really in-convenient. But even more in-convenient is, that the PCI serial card for AMT SOL is by default not usable on my testmachine. One has to manually enable in the Command Register of the PCI device the I/O Space bit (http://wiki.osdev.org/PCI) for each boot

I extended bender to enable the I/O space bit if it is not set - so no manual grub2 intervention required, if bender is used.

Member

alex-ab commented Feb 3, 2017

For the moment I hardcoded the I/O ports in the kernel and Genode/core, which is really in-convenient. But even more in-convenient is, that the PCI serial card for AMT SOL is by default not usable on my testmachine. One has to manually enable in the Command Register of the PCI device the I/O Space bit (http://wiki.osdev.org/PCI) for each boot

I extended bender to enable the I/O space bit if it is not set - so no manual grub2 intervention required, if bender is used.

@chelmuth

This comment has been minimized.

Show comment
Hide comment
@chelmuth

chelmuth Feb 3, 2017

Member

Nice idea, and the workaround is anything but misplaced.

Member

chelmuth commented Feb 3, 2017

Nice idea, and the workaround is anything but misplaced.

chelmuth added a commit that referenced this issue Aug 28, 2017

sel4: add uefi boot support via mbi2
Multiboot2 provides the ACPI RSDP pointer from the GRUB2 bootloader.

Issue #2242

alex-ab added a commit to alex-ab/genode that referenced this issue Aug 29, 2017

@alex-ab

This comment has been minimized.

Show comment
Hide comment
@alex-ab

alex-ab Aug 29, 2017

Member

@chelmuth, @nfeske: please consider 346c946 for staging

@ehmry: I could reproduce your issue with too few memory, the commit above fixes it for my machine. Please check for your machine.

Member

alex-ab commented Aug 29, 2017

@chelmuth, @nfeske: please consider 346c946 for staging

@ehmry: I could reproduce your issue with too few memory, the commit above fixes it for my machine. Please check for your machine.

@N8Fear

This comment has been minimized.

Show comment
Hide comment
@N8Fear

N8Fear Aug 29, 2017

Contributor

I'm not sure why, but prepare_port sel4 fails for me on staging. The error is:

sel4  update src/kernel/sel4
sel4  apply /home/n8fear/src/live-sync/genode/repos/base-sel4/patches/root_cnode.patch
sel4  apply /home/n8fear/src/live-sync/genode/repos/base-sel4/patches/config.patch
sel4  apply /home/n8fear/src/live-sync/genode/repos/base-sel4/patches/arm_cache.patch
sel4  apply /home/n8fear/src/live-sync/genode/repos/base-sel4/patches/uefi_mbi2.patch
2 out of 7 hunks FAILED -- saving rejects to file src/kernel/sel4/src/arch/x86/kernel/boot_sys.c.rej
1 out of 2 hunks FAILED -- saving rejects to file src/kernel/sel4/src/plat/pc99/machine/acpi.c.rej
1 out of 1 hunk FAILED -- saving rejects to file src/kernel/sel4/include/plat/pc99/plat/machine/acpi.h.rej
make[2]: *** [/home/n8fear/src/live-sync/genode/tool/ports/mk/install.mk:131: phony/patches//home/n8fear/src/live-sync/genode/repos/base-sel4/patches/uefi_mbi2.patch] Error 1
make[1]: *** [/home/n8fear/src/live-sync/genode/tool/ports/mk/prepare_single_port.mk:42: _install_in_port_dir] Error 2
make: *** [../../../tool/ports/prepare_port:33: sel4] Error 2

This is clearly caused by the patches getting applied in wrong order. If I rename the file it works, e.g.:

sel4  download https://github.com/seL4/seL4.git
sel4  git Cloning into 'src/kernel/sel4'...
sel4  update src/kernel/sel4
sel4  apply /home/n8fear/src/live-sync/genode/repos/base-sel4/patches/root_cnode.patch
sel4  apply /home/n8fear/src/live-sync/genode/repos/base-sel4/patches/config.patch
sel4  apply /home/n8fear/src/live-sync/genode/repos/base-sel4/patches/arm_cache.patch
sel4  apply /home/n8fear/src/live-sync/genode/repos/base-sel4/patches/noise.patch
sel4  apply /home/n8fear/src/live-sync/genode/repos/base-sel4/patches/benchmark.patch
sel4  apply /home/n8fear/src/live-sync/genode/repos/base-sel4/patches/ioapic.patch
sel4  apply /home/n8fear/src/live-sync/genode/repos/base-sel4/patches/acpi_bootinfo.patch
sel4  apply /home/n8fear/src/live-sync/genode/repos/base-sel4/patches/zuefi_mbi2.patch
sel4  generate sel4.hash
patching file src/kernel/sel4/configs/pc99/ia32/autoconf.h
patching file src/kernel/sel4/configs/pc99/x86_64/autoconf.h
patching file src/kernel/sel4/configs/imx6/wand_quad/autoconf.h

It does'nt make much sense to me, why uefi_... gets sorted in before ioapic... and acpi_boot...`, but that seems to be the case. Any idea why this happens?

Contributor

N8Fear commented Aug 29, 2017

I'm not sure why, but prepare_port sel4 fails for me on staging. The error is:

sel4  update src/kernel/sel4
sel4  apply /home/n8fear/src/live-sync/genode/repos/base-sel4/patches/root_cnode.patch
sel4  apply /home/n8fear/src/live-sync/genode/repos/base-sel4/patches/config.patch
sel4  apply /home/n8fear/src/live-sync/genode/repos/base-sel4/patches/arm_cache.patch
sel4  apply /home/n8fear/src/live-sync/genode/repos/base-sel4/patches/uefi_mbi2.patch
2 out of 7 hunks FAILED -- saving rejects to file src/kernel/sel4/src/arch/x86/kernel/boot_sys.c.rej
1 out of 2 hunks FAILED -- saving rejects to file src/kernel/sel4/src/plat/pc99/machine/acpi.c.rej
1 out of 1 hunk FAILED -- saving rejects to file src/kernel/sel4/include/plat/pc99/plat/machine/acpi.h.rej
make[2]: *** [/home/n8fear/src/live-sync/genode/tool/ports/mk/install.mk:131: phony/patches//home/n8fear/src/live-sync/genode/repos/base-sel4/patches/uefi_mbi2.patch] Error 1
make[1]: *** [/home/n8fear/src/live-sync/genode/tool/ports/mk/prepare_single_port.mk:42: _install_in_port_dir] Error 2
make: *** [../../../tool/ports/prepare_port:33: sel4] Error 2

This is clearly caused by the patches getting applied in wrong order. If I rename the file it works, e.g.:

sel4  download https://github.com/seL4/seL4.git
sel4  git Cloning into 'src/kernel/sel4'...
sel4  update src/kernel/sel4
sel4  apply /home/n8fear/src/live-sync/genode/repos/base-sel4/patches/root_cnode.patch
sel4  apply /home/n8fear/src/live-sync/genode/repos/base-sel4/patches/config.patch
sel4  apply /home/n8fear/src/live-sync/genode/repos/base-sel4/patches/arm_cache.patch
sel4  apply /home/n8fear/src/live-sync/genode/repos/base-sel4/patches/noise.patch
sel4  apply /home/n8fear/src/live-sync/genode/repos/base-sel4/patches/benchmark.patch
sel4  apply /home/n8fear/src/live-sync/genode/repos/base-sel4/patches/ioapic.patch
sel4  apply /home/n8fear/src/live-sync/genode/repos/base-sel4/patches/acpi_bootinfo.patch
sel4  apply /home/n8fear/src/live-sync/genode/repos/base-sel4/patches/zuefi_mbi2.patch
sel4  generate sel4.hash
patching file src/kernel/sel4/configs/pc99/ia32/autoconf.h
patching file src/kernel/sel4/configs/pc99/x86_64/autoconf.h
patching file src/kernel/sel4/configs/imx6/wand_quad/autoconf.h

It does'nt make much sense to me, why uefi_... gets sorted in before ioapic... and acpi_boot...`, but that seems to be the case. Any idea why this happens?

alex-ab added a commit to alex-ab/genode that referenced this issue Aug 29, 2017

@alex-ab

This comment has been minimized.

Show comment
Hide comment
@alex-ab

alex-ab Aug 29, 2017

Member

@N8Fear: thanks for reporting! c23a1c2 should help.

Member

alex-ab commented Aug 29, 2017

@N8Fear: thanks for reporting! c23a1c2 should help.

@N8Fear

This comment has been minimized.

Show comment
Hide comment
@N8Fear

N8Fear Aug 29, 2017

Contributor

I can confirm that the commit fixes it for me. Thank you!

Contributor

N8Fear commented Aug 29, 2017

I can confirm that the commit fixes it for me. Thank you!

@alex-ab

This comment has been minimized.

Show comment
Hide comment
@alex-ab

alex-ab Aug 30, 2017

Member

Initial support is done for the major supported kernels.

Member

alex-ab commented Aug 30, 2017

Initial support is done for the major supported kernels.

@alex-ab alex-ab closed this Aug 30, 2017

jklmnn added a commit to jklmnn/genode that referenced this issue Sep 1, 2017

jklmnn added a commit to jklmnn/genode that referenced this issue Sep 1, 2017

nova: uefi boot support using multiboot2
- kernel provides ACPI RSDT/XSDT pointer
- core exports it via a ROM called "platform_info"

Issue #2242

jklmnn added a commit to jklmnn/genode that referenced this issue Sep 1, 2017

jklmnn added a commit to jklmnn/genode that referenced this issue Sep 1, 2017

jklmnn added a commit to jklmnn/genode that referenced this issue Sep 1, 2017

nova: support mbi2 framebuffer
- export framebuffer information as platform_info ROM by core

Issue #2242

jklmnn added a commit to jklmnn/genode that referenced this issue Sep 1, 2017

jklmnn added a commit to jklmnn/genode that referenced this issue Sep 1, 2017

tool: support image/uefi for grub2/uefi boot
- add x86_32/64 GRUB2 UEFI boot loader
- enable support for nova

Issue #2242

jklmnn added a commit to jklmnn/genode that referenced this issue Sep 1, 2017

tool: qemu support for UEFI boot
- add UEFI firmware for Qemu

Issue #2242

jklmnn added a commit to jklmnn/genode that referenced this issue Sep 1, 2017

alex-ab added a commit to alex-ab/genode that referenced this issue Sep 1, 2017

alex-ab added a commit to alex-ab/genode that referenced this issue Sep 1, 2017

alex-ab added a commit to alex-ab/genode that referenced this issue Sep 4, 2017

alex-ab added a commit to alex-ab/genode that referenced this issue Sep 11, 2017

alex-ab added a commit to alex-ab/genode that referenced this issue Sep 11, 2017

alex-ab added a commit to alex-ab/genode that referenced this issue Sep 25, 2017

alex-ab added a commit to alex-ab/genode that referenced this issue Oct 23, 2017

sel4: use kernel branch 7.0 + our mastered commits
for uefi, multiboot2, benchmark interface adaptations and ARM define build
fixes.

Issue #2242

alex-ab added a commit to alex-ab/genode that referenced this issue Oct 23, 2017

sel4: use kernel branch 7.0 + our mastered commits
for uefi, multiboot2, benchmark interface adaptations and ARM define build
fixes.

Issue #2242

alex-ab added a commit to alex-ab/genode that referenced this issue Oct 23, 2017

sel4: use kernel branch 7.0 + our mastered commits
for uefi, multiboot2, benchmark interface adaptations and ARM define build
fixes.

Issue #2242

alex-ab added a commit to alex-ab/genode that referenced this issue Oct 25, 2017

sel4: use kernel branch 7.0 + our mastered commits
for uefi, multiboot2, benchmark interface adaptations and ARM define build
fixes.

Issue #2242

alex-ab added a commit to alex-ab/genode that referenced this issue Oct 27, 2017

sel4: use kernel branch 7.0 + our mastered commits
for uefi, multiboot2, benchmark interface adaptations and ARM define build
fixes.

Issue #2242

alex-ab added a commit to alex-ab/genode that referenced this issue Nov 1, 2017

sel4: use kernel branch 7.0 + our mastered commits
for uefi, multiboot2, benchmark interface adaptations and ARM define build
fixes.

Issue #2242

chelmuth added a commit that referenced this issue Nov 1, 2017

sel4: use kernel branch 7.0 + our mastered commits
for uefi, multiboot2, benchmark interface adaptations and ARM define build
fixes.

Issue #2242

alex-ab added a commit to alex-ab/genode that referenced this issue Nov 5, 2017

sel4: use kernel branch 7.0 + our mastered commits
for uefi, multiboot2, benchmark interface adaptations and ARM define build
fixes.

Issue #2242

Kensan added a commit to codelabs-ch/muen that referenced this issue Jan 25, 2018

Adapt initial RIP value of base-hw subject
The initial IP has changed due to Genode issue #2242, see [1].

[1] - genodelabs/genode#2242

Kensan added a commit to codelabs-ch/muen that referenced this issue Jan 25, 2018

Adjust initial RIP of Genode base-hw subject
Summary:
Extract common Genode base-hw vCPU element to separate XML and adapt
initial RIP value of base-hw subject. The value was changed upstream
due to Genode issue #2242, see [1].

[1] - genodelabs/genode#2242

Test Plan:
Verified that the vbox4_win7_32 Genode scenario of the current upstream
staging branch (7727433..) runs as part of the Genode/base-hw Muen
system.

Reviewers: reet

Reviewed By: reet

Differential Revision: https://dev.codelabs.ch/D648

@jklmnn jklmnn referenced this issue in jklmnn/base-linux-hw Feb 1, 2018

Open

Enable IO_MEM session #6

jklmnn added a commit to jklmnn/genode that referenced this issue Mar 26, 2018

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment