mirror of
https://github.com/genodelabs/genode.git
synced 2025-02-21 10:01:57 +00:00
Update to bender with optional microcode and HWP
plugin support. Fixes #3871
This commit is contained in:
parent
764ab3be20
commit
a4c7837fb3
@ -2,19 +2,26 @@ This directory contains boot-loader files needed to boot Genode and to create
|
|||||||
boot images. The tools are available in binary form. Pointers to the source
|
boot images. The tools are available in binary form. Pointers to the source
|
||||||
code respectively the download source of binaries are described below.
|
code respectively the download source of binaries are described below.
|
||||||
|
|
||||||
:'bender', 'microcode'
|
:'bender'
|
||||||
|
|
||||||
The tools are part of the 'morbo' toolchain available under GPL.
|
The tool is part of the 'morbo' toolchain available under GPL.
|
||||||
The toolchain was obtained from https://github.com/TUD-OS/morbo.
|
The toolchain was obtained from https://github.com/TUD-OS/morbo.
|
||||||
|
|
||||||
For Genode bender was modified so that binaries are only relocated up
|
For Genode bender was modified so that binaries are only relocated up
|
||||||
to 2G physical. Additional, relocation can be limited to 256M for sel4.
|
to 2G physical. Additionally, relocation can be limited to 256M for sel4.
|
||||||
The microcode tools expect to find a module named micro.code which contains
|
|
||||||
|
Optionally, the tool may load Intel microcode if configured via commandline.
|
||||||
|
The tool expects to find an module named micro.code which contains
|
||||||
a valid Intel microcode file for the target CPU.
|
a valid Intel microcode file for the target CPU.
|
||||||
|
|
||||||
|
Additionally, the tool may adjust the Intel HWP default settings if
|
||||||
|
configured via commandline.
|
||||||
|
|
||||||
The changes are available from
|
The changes are available from
|
||||||
https://github.com/alex-ab/morbo.git.
|
https://github.com/alex-ab/morbo.git.
|
||||||
|
|
||||||
git commit 003016e096fa132e2086b4db52d1fd965dbd7363
|
git branch intel_hwp
|
||||||
|
git commit 84be1183b066e9ba78c874713db4e68a5c3393fa
|
||||||
|
|
||||||
:'pulsar':
|
:'pulsar':
|
||||||
|
|
||||||
|
BIN
tool/boot/bender
BIN
tool/boot/bender
Binary file not shown.
Binary file not shown.
@ -59,19 +59,22 @@ proc run_boot_dir {binaries} {
|
|||||||
|
|
||||||
exec mv [run_dir]/image.elf [run_dir]/boot/image.elf
|
exec mv [run_dir]/image.elf [run_dir]/boot/image.elf
|
||||||
|
|
||||||
|
#
|
||||||
|
# Setup bender and plugins
|
||||||
|
#
|
||||||
|
set options_bender ""
|
||||||
|
|
||||||
|
if {[apply_microcode]} {
|
||||||
|
exec cp bin/micro.code [run_dir]/boot/
|
||||||
|
append options_bender " microcode"
|
||||||
|
}
|
||||||
|
|
||||||
if {[have_include "image/iso"] || [have_include "image/disk"] || [have_include image/uefi]} {
|
if {[have_include "image/iso"] || [have_include "image/disk"] || [have_include image/uefi]} {
|
||||||
#
|
#
|
||||||
# Compress Genode image, to be uncompressed by GRUB
|
# Compress Genode image, to be uncompressed by GRUB
|
||||||
#
|
#
|
||||||
exec gzip [run_dir]/boot/image.elf
|
exec gzip [run_dir]/boot/image.elf
|
||||||
|
|
||||||
set serial_bender_opt ""
|
|
||||||
|
|
||||||
if {[apply_microcode]} {
|
|
||||||
exec cp bin/micro.code [run_dir]/boot/
|
|
||||||
exec cp [genode_dir]/tool/boot/microcode [run_dir]/boot/
|
|
||||||
}
|
|
||||||
|
|
||||||
if {[have_include "image/disk"]} {
|
if {[have_include "image/disk"]} {
|
||||||
exec mkdir -p [run_dir]/boot/grub
|
exec mkdir -p [run_dir]/boot/grub
|
||||||
exec cp [genode_dir]/tool/boot/bender [run_dir]/boot/bender
|
exec cp [genode_dir]/tool/boot/bender [run_dir]/boot/bender
|
||||||
@ -101,7 +104,7 @@ proc run_boot_dir {binaries} {
|
|||||||
# exec cp /boot/grub/unicode.pf2 [run_dir]/boot/grub/unicode.pf2
|
# exec cp /boot/grub/unicode.pf2 [run_dir]/boot/grub/unicode.pf2
|
||||||
}
|
}
|
||||||
|
|
||||||
set serial_bender_opt "serial_fallback"
|
append options_bender " serial_fallback"
|
||||||
}
|
}
|
||||||
|
|
||||||
#
|
#
|
||||||
@ -132,9 +135,8 @@ proc run_boot_dir {binaries} {
|
|||||||
puts $fh "menuentry 'Genode on NOVA' {"
|
puts $fh "menuentry 'Genode on NOVA' {"
|
||||||
puts $fh " insmod multiboot2"
|
puts $fh " insmod multiboot2"
|
||||||
puts $fh " insmod gzio"
|
puts $fh " insmod gzio"
|
||||||
puts $fh " multiboot2 /boot/bender $serial_bender_opt"
|
puts $fh " multiboot2 /boot/bender $options_bender"
|
||||||
if {[apply_microcode]} {
|
if {[apply_microcode]} {
|
||||||
puts $fh " module2 /boot/microcode serial"
|
|
||||||
puts $fh " module2 /boot/micro.code micro.code"
|
puts $fh " module2 /boot/micro.code micro.code"
|
||||||
}
|
}
|
||||||
puts $fh " module2 /boot/hypervisor hypervisor iommu novpid [kernel_output]"
|
puts $fh " module2 /boot/hypervisor hypervisor iommu novpid [kernel_output]"
|
||||||
@ -154,18 +156,12 @@ proc run_boot_dir {binaries} {
|
|||||||
#
|
#
|
||||||
install_pxe_bootloader_to_run_dir
|
install_pxe_bootloader_to_run_dir
|
||||||
|
|
||||||
if {[apply_microcode]} {
|
|
||||||
exec cp [genode_dir]/tool/boot/microcode [run_dir]/boot/
|
|
||||||
exec cp bin/micro.code [run_dir]/boot/
|
|
||||||
}
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# Generate pulsar config file
|
# Generate pulsar config file
|
||||||
#
|
#
|
||||||
set fh [open "[run_dir]/config-52-54-00-12-34-56" "WRONLY CREAT TRUNC"]
|
set fh [open "[run_dir]/config-52-54-00-12-34-56" "WRONLY CREAT TRUNC"]
|
||||||
puts $fh " exec /boot/bender"
|
puts $fh " exec /boot/bender $options_bender"
|
||||||
if {[apply_microcode]} {
|
if {[apply_microcode]} {
|
||||||
puts $fh " load /boot/microcode serial"
|
|
||||||
puts $fh " load /boot/micro.code micro.code"
|
puts $fh " load /boot/micro.code micro.code"
|
||||||
}
|
}
|
||||||
puts $fh " load /boot/hypervisor iommu novpid [kernel_output]"
|
puts $fh " load /boot/hypervisor iommu novpid [kernel_output]"
|
||||||
|
Loading…
x
Reference in New Issue
Block a user