serial: OK, works on QEMU
This commit is contained in:
2
Makefile
2
Makefile
@@ -11,7 +11,7 @@ GAS_EXT ?= .S
|
|||||||
NASM_EXT ?= .asm
|
NASM_EXT ?= .asm
|
||||||
OBJ_EXT ?= .o
|
OBJ_EXT ?= .o
|
||||||
OUT_EXT ?= .img
|
OUT_EXT ?= .img
|
||||||
QEMU ?= qemu-system-i386 -drive 'file=$(RUN_FILE),format=raw' -smp 2
|
QEMU ?= qemu-system-i386 -drive 'file=$(RUN_FILE),format=raw' -serial mon:stdio -smp 2
|
||||||
RUN ?= bios_hello_world
|
RUN ?= bios_hello_world
|
||||||
RUN_ARGS ?= -soundhw pcspk
|
RUN_ARGS ?= -soundhw pcspk
|
||||||
TMP_EXT ?= .tmp
|
TMP_EXT ?= .tmp
|
||||||
|
|||||||
21
README.adoc
21
README.adoc
@@ -2116,19 +2116,24 @@ What the heck is a serial in the real world: https://unix.stackexchange.com/ques
|
|||||||
|
|
||||||
Currently all text output is done the display, and that was a newbie design choice from before I knew the serial existed. The serial is just generally more minimal and elegant than the display, and should have been used instead.
|
Currently all text output is done the display, and that was a newbie design choice from before I knew the serial existed. The serial is just generally more minimal and elegant than the display, and should have been used instead.
|
||||||
|
|
||||||
TODO: get working on QEMU, working on Bochs:
|
....
|
||||||
|
./run bios_hello_world_serial
|
||||||
|
cat bios_hello_world_serial.tmp.serial
|
||||||
|
....
|
||||||
|
|
||||||
|
On QEMU, we see the serial output on the host terminal:
|
||||||
|
|
||||||
|
....
|
||||||
|
hello world
|
||||||
|
....
|
||||||
|
|
||||||
|
and on Bochs we redirect it to a file:
|
||||||
|
|
||||||
....
|
....
|
||||||
./run bios_hello_world_serial bochs
|
./run bios_hello_world_serial bochs
|
||||||
cat bios_hello_world_serial.tmp.serial
|
cat bios_hello_world_serial.tmp.serial
|
||||||
....
|
....
|
||||||
|
|
||||||
The file content:
|
|
||||||
|
|
||||||
....
|
|
||||||
hello world
|
|
||||||
....
|
|
||||||
|
|
||||||
Source: link:bios_hello_world_serial.S[]
|
Source: link:bios_hello_world_serial.S[]
|
||||||
|
|
||||||
Bibliography:
|
Bibliography:
|
||||||
@@ -2140,7 +2145,7 @@ This would open up:
|
|||||||
|
|
||||||
* gem5 benchmarking and exploration, currently blocked on https://stackoverflow.com/questions/50364863/how-to-get-graphical-gui-output-and-user-touch-keyboard-mouse-input-in-a-ful/50364864#50364864
|
* gem5 benchmarking and exploration, currently blocked on https://stackoverflow.com/questions/50364863/how-to-get-graphical-gui-output-and-user-touch-keyboard-mouse-input-in-a-ful/50364864#50364864
|
||||||
* automated unit tests. Ha, like I'm gonna be that diligent!
|
* automated unit tests. Ha, like I'm gonna be that diligent!
|
||||||
* easily working on ARM in a more uniform way
|
* easily working on ARM in a more uniform way to prepare for the move in to https://github.com/cirosantilli/linux-kernel-module-cheat/tree/87e846fc1f9c57840e143513ebd69c638bd37aa8#baremetal-setup
|
||||||
|
|
||||||
=== Macros vs functions
|
=== Macros vs functions
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user