commit 3be3b31b47b383f23185e1f510b77ea2ee265b48 from: Aleksey Ryndin date: Thu Mar 02 12:19:37 2023 UTC UART: send commit - 6efd408f5738f59c359283307b8bdb01ce000b8f commit + 3be3b31b47b383f23185e1f510b77ea2ee265b48 blob - 513b64ee093fc2d7f756aae7ee1d58cdc3def308 blob + 24f15702cdb5ba0ca3a48174cca2ef20f7d0f547 --- Makefile +++ Makefile @@ -14,12 +14,12 @@ ASFILES = boot.o CXXFLAGS = -target ${TARGET} -Wall -Wextra -nostdlib -fno-exceptions CXXFLAGS +=-ffreestanding -mgeneral-regs-only -CXXFLAGS +=-Iinclude +CXXFLAGS +=-Iinclude -std=c++11 CXXFILES = kernel.cc uart_${BOARD}.cc OBJS = ${ASFILES:.S=.o} ${CXXFILES:.cc=.o} -.PHONY: clean gdbstub +.PHONY: clean qemu gdb-remote all: squat.img @@ -35,6 +35,9 @@ squat.elf: linker.ld ${OBJS} clean: rm -rf *.o squat.elf squat.img -gdbstub: squat.img +qemu: squat.img + qemu-system-${ARCH} -M ${BOARD} -cpu cortex-a53 \ + -kernel squat.img -nographic -monitor none -serial stdio +gdb-remote: squat.img qemu-system-${ARCH} -s -S -M ${BOARD} -cpu cortex-a53 \ -kernel squat.img -nographic -monitor none -serial stdio blob - 33c10ac2df36f6d33dcfa9eb8fe5bc32918541d8 blob + 66a22a047beaacf08b00ea31812c9be3b8d2076a --- kernel.cc +++ kernel.cc @@ -10,8 +10,10 @@ void uart_send_string(const char *szContent) { const char *szCurrent = szContent; - while (*szCurrent) + while (*szCurrent) { Board::Uart::send(*szCurrent); + ++szCurrent; + } } blob - 78a76dc47a113d54d8f6d7fbbbb62dea9e81744f blob + 74896d01b6a78d7f2a5bd6bb89926a2e82b31c27 --- uart_virt.cc +++ uart_virt.cc @@ -13,7 +13,7 @@ namespace Uart { namespace { -constexpr uintptr_t UART_BASE = 0xffffffffc9000000ULL; +constexpr uintptr_t UART_BASE = 0x9000000; } // anonymous namespace