mirror of
https://github.com/genodelabs/genode.git
synced 2025-02-20 09:46:20 +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
|
||||
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.
|
||||
|
||||
For Genode bender was modified so that binaries are only relocated up
|
||||
to 2G physical. Additional, relocation can be limited to 256M for sel4.
|
||||
The microcode tools expect to find a module named micro.code which contains
|
||||
to 2G physical. Additionally, relocation can be limited to 256M for sel4.
|
||||
|
||||
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.
|
||||
|
||||
Additionally, the tool may adjust the Intel HWP default settings if
|
||||
configured via commandline.
|
||||
|
||||
The changes are available from
|
||||
https://github.com/alex-ab/morbo.git.
|
||||
|
||||
git commit 003016e096fa132e2086b4db52d1fd965dbd7363
|
||||
git branch intel_hwp
|
||||
git commit 84be1183b066e9ba78c874713db4e68a5c3393fa
|
||||
|
||||
:'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
|
||||
|
||||
#
|
||||
# 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]} {
|
||||
#
|
||||
# Compress Genode image, to be uncompressed by GRUB
|
||||
#
|
||||
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"]} {
|
||||
exec mkdir -p [run_dir]/boot/grub
|
||||
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
|
||||
}
|
||||
|
||||
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 " insmod multiboot2"
|
||||
puts $fh " insmod gzio"
|
||||
puts $fh " multiboot2 /boot/bender $serial_bender_opt"
|
||||
puts $fh " multiboot2 /boot/bender $options_bender"
|
||||
if {[apply_microcode]} {
|
||||
puts $fh " module2 /boot/microcode serial"
|
||||
puts $fh " module2 /boot/micro.code micro.code"
|
||||
}
|
||||
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
|
||||
|
||||
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
|
||||
#
|
||||
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]} {
|
||||
puts $fh " load /boot/microcode serial"
|
||||
puts $fh " load /boot/micro.code micro.code"
|
||||
}
|
||||
puts $fh " load /boot/hypervisor iommu novpid [kernel_output]"
|
||||
|
Loading…
x
Reference in New Issue
Block a user