Swift로 만든 미니멀 커널, QEMU에서 돌아가다
A minimal kernel in Swift, running in QEMU
운영체제 없이 Swift 코드를 실행하는 실험. Embedded Swift와 QEMU의 virt 머신을 사용해 aarch64-none-none-elf 타겟으로 컴파일하고, 어셈블리 부트 코드와 링커 스크립트를 직접 작성해 스택을 설정한다. 표준 라이브러리 없이 putchar와 memmove를 구현하고, PL011 UART를 통해 메시지를 출력한다. 이후 폴링 방식으로 키보드 입력을 받아 에코하는 기능까지 추가한다.
이것은 화면 드라이버가 아니라 시리얼 출력 드라이버다.