NOVA spinner and trace
Alexander Boettcher
alexander.boettcher at genode-labs.com
Mon Oct 1 21:19:54 CEST 2018
On 01.10.2018 06:18, Nobody III wrote:
> I've tried replacing novga with spinner in the NOVA command line (in
> tool/run/boot_dir/nova), but nothing happens. What do i have to do to
> enable IRQ spinners?
If you switch to multiboot (MBI) 1, it seems to work. See attachment for
an example. For MBI 2 more investigations is required, it seems indeed
not to work.
>
> Also, when I enable TRACE_APIC or TRACE_ACPI in stdio.hpp in the NOVA
> contrib source, the kernel crashes and QEMU gets stuck in a boot loop. How
> can I add this trace information to the serial log and/or log_core?
Yes, some of the trace messages are just to early in code when not
everything is setup to work properly - you can't use them, as you noticed.
You may try to replace some of trace (TRACE_APIC, "<message>") resp.
trace(TRACE_ACPI, "<message"> with Console::print("<message>\n")
manually one-by-one. (without enabling the TRACE_ACPI/TRACE_APIC actually).
Good luck,
--
Alexander Boettcher
Genode Labs
https://www.genode-labs.com - https://www.genode.org
Genode Labs GmbH - Amtsgericht Dresden - HRB 28424 - Sitz Dresden
Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth
-------------- next part --------------
diff --git a/repos/base/run/log.run b/repos/base/run/log.run
index 545809a..0ff1213 100644
--- a/repos/base/run/log.run
+++ b/repos/base/run/log.run
@@ -22,10 +22,11 @@ install_config {
build_boot_image "core ld.lib.so init test-log"
-append qemu_args "-nographic "
+# append qemu_args "-nographic "
append xen_args { sdl="0" }
-run_genode_until "Test done.*\n" 20
+run_genode_until forever
+#run_genode_until "Test done.*\n" 20
grep_output {\[init -\> test-log}
diff --git a/tool/run/boot_dir/nova b/tool/run/boot_dir/nova
index 73f0e4d..a59a7df 100644
--- a/tool/run/boot_dir/nova
+++ b/tool/run/boot_dir/nova
@@ -3,7 +3,7 @@ proc binary_name_core_o { } { return "core-nova.o" }
proc binary_name_timer { } { return "nova_timer_drv" }
proc kernel_files { } { return hypervisor }
-proc kernel_output { } { return "novga serial" }
+proc kernel_output { } { return "serial spinner" }
proc run_boot_string { } {
return "\nHypervisor reports "
@@ -129,15 +129,15 @@ proc run_boot_dir {binaries} {
# puts $fh "terminal_output console"
puts $fh "menuentry 'Genode on NOVA' {"
- puts $fh " insmod multiboot2"
+ puts $fh " insmod multiboot"
puts $fh " insmod gzio"
- puts $fh " multiboot2 /boot/bender $serial_bender_opt"
+ puts $fh " multiboot /boot/bender $serial_bender_opt"
if {[apply_microcode]} {
- puts $fh " module2 /boot/microcode serial"
- puts $fh " module2 /boot/micro.code micro.code"
+ puts $fh " module /boot/microcode serial"
+ puts $fh " module /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 " module /boot/hypervisor hypervisor iommu novpid [kernel_output]"
+ puts $fh " module /boot/image.elf.gz image.elf"
puts $fh "}"
close $fh
}
More information about the users
mailing list