* 7\. Services - Boot Services (140)
* 8\. Services - Runtime Services (228)
* 12\. Protocols - Console Support (429)
+* 13\. Protocols - Media Access (493)
* Appendix B - Console (2201)
* Appendix D - Status Codes (2211)
-
## Resources
* [UEFI - OSDev Wiki](https://wiki.osdev.org/UEFI)
.PHONY: qemu
-qemu: out/main OVMF_CODE.fd OVMF_VARS.fd
+qemu: out/main out/hello OVMF_CODE.fd OVMF_VARS.fd
# Based on https://wiki.osdev.org/UEFI#Emulation_with_QEMU_and_OVMF
qemu-system-x86_64 -cpu qemu64 \
-drive if=pflash,format=raw,unit=0,file=OVMF_CODE.fd,readonly=on \
mkdir -p out
fasm $< out/main
+out/hello:
+ mkdir -p out
+ echo -e "Hello!\nThis is a test." > out/hello
+
.PHONY: clean
clean:
rm -f main
;; - This should allow the user to type in a string, and then feed the
;; buffer to us one character at a time.
;; - [ ] We want to show the user's input on the screen while reading
+;; - [ ] Read a file that was bundled with the program
+;; - It looks like we can use EFI_LOAD_FILE_PROTOCOL.LoadFile() to load
+;; a file into a buffer. In order to be able to use this, we need to
+;; have some way of interpreting a static buffer instead of reading as
+;; we go.
-;; #region Structs
+;; EFI struct definitions {{{
EFI_NOT_READY = 0x8000_0000_0000_0000 or 6
}
struct EFI_INPUT_KEY
-;; #endregion
+;; }}}
section '.text' code executable readable