committed by
Christian Helmuth
parent
237f6a6a62
commit
a149131dc2
@@ -128,3 +128,4 @@ vmm
|
||||
weak_ptr
|
||||
xml_generator
|
||||
xml_node
|
||||
microcode
|
||||
|
||||
@@ -2,16 +2,19 @@ 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'
|
||||
:'bender', 'microcode'
|
||||
|
||||
The 'bender' tool is part of the 'morbo' toolchain available under GPL.
|
||||
The tools are part of the 'morbo' toolchain available under GPL.
|
||||
The toolchain was obtained from https://github.com/TUD-OS/morbo.
|
||||
For Genode the 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.
|
||||
The microcode tools expect to find a module named micro.code which contains
|
||||
a valid Intel microcode file for the target CPU.
|
||||
|
||||
The changes are available from
|
||||
https://github.com/alex-ab/morbo.git.
|
||||
|
||||
branch genode_bender, git commit e4744198ed481886c48e3dee12c1fbd47411770f
|
||||
git commit 003016e096fa132e2086b4db52d1fd965dbd7363
|
||||
|
||||
:'pulsar':
|
||||
|
||||
|
||||
BIN
tool/boot/bender
BIN
tool/boot/bender
Binary file not shown.
BIN
tool/boot/microcode
Normal file
BIN
tool/boot/microcode
Normal file
Binary file not shown.
@@ -9,6 +9,7 @@ proc run_boot_string { } {
|
||||
return "\nHypervisor reports "
|
||||
}
|
||||
|
||||
proc apply_microcode { } { return false }
|
||||
|
||||
proc core_link_address { } { return "0x100000" }
|
||||
|
||||
@@ -66,6 +67,11 @@ proc run_boot_dir {binaries} {
|
||||
|
||||
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
|
||||
@@ -126,6 +132,10 @@ proc run_boot_dir {binaries} {
|
||||
puts $fh " insmod multiboot2"
|
||||
puts $fh " insmod gzio"
|
||||
puts $fh " multiboot2 /boot/bender $serial_bender_opt"
|
||||
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]"
|
||||
puts $fh " module2 /boot/image.elf.gz image.elf"
|
||||
puts $fh "}"
|
||||
@@ -143,11 +153,20 @@ 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"
|
||||
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]"
|
||||
puts $fh " load /boot/image.elf"
|
||||
close $fh
|
||||
|
||||
Reference in New Issue
Block a user