southlake: add -DNOPRINT macro to disable printf / uart
This commit is contained in:
parent
194056f882
commit
766ac82103
|
@ -15,7 +15,7 @@ AM_SRCS := noop/isa/riscv/trm_flash.c \
|
|||
dummy/mpe.c \
|
||||
nemu/isa/riscv/boot/start_flash.S
|
||||
|
||||
CFLAGS += -I$(AM_HOME)/am/src/nemu/include -DISA_H=\"riscv.h\"
|
||||
CFLAGS += -I$(AM_HOME)/am/src/nemu/include -DISA_H=\"riscv.h\" -DNOPRINT
|
||||
|
||||
ASFLAGS += -DMAINARGS=\"$(mainargs)\"
|
||||
.PHONY: $(AM_HOME)/am/src/nemu/common/mainargs.S
|
||||
|
|
|
@ -18,7 +18,7 @@ AM_SRCS := noop/isa/riscv/trm.c \
|
|||
dummy/mpe.c \
|
||||
nemu/isa/riscv/boot/start.S
|
||||
|
||||
CFLAGS += -I$(AM_HOME)/am/src/nemu/include -DISA_H=\"riscv.h\"
|
||||
CFLAGS += -I$(AM_HOME)/am/src/nemu/include -DISA_H=\"riscv.h\" -DNOPRINT
|
||||
|
||||
ASFLAGS += -DMAINARGS=\"$(mainargs)\"
|
||||
.PHONY: $(AM_HOME)/am/src/nemu/common/mainargs.S
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
// uart IO is disabled to speed up SoC test
|
||||
|
||||
#include <riscv.h>
|
||||
#include <klib.h>
|
||||
|
||||
#define UARTLITE_MMIO 0x1f40600000
|
||||
#define UARTLITE_RX_FIFO 0x0
|
||||
|
@ -13,18 +14,27 @@
|
|||
#define UARTLITE_RX_VALID 0x01
|
||||
|
||||
void __am_init_uartlite(void) {
|
||||
// outb(UARTLITE_MMIO + UARTLITE_CTRL_REG, UARTLITE_RST_FIFO);
|
||||
#ifndef NOPRINT
|
||||
outb(UARTLITE_MMIO + UARTLITE_CTRL_REG, UARTLITE_RST_FIFO);
|
||||
#endif
|
||||
}
|
||||
|
||||
void __am_uartlite_putchar(char ch) {
|
||||
// if (ch == '\n') __am_uartlite_putchar('\r');
|
||||
#ifndef NOPRINT
|
||||
if (ch == '\n') __am_uartlite_putchar('\r');
|
||||
|
||||
// while (inb(UARTLITE_MMIO + UARTLITE_STAT_REG) & UARTLITE_TX_FULL);
|
||||
// outb(UARTLITE_MMIO + UARTLITE_TX_FIFO, ch);
|
||||
while (inb(UARTLITE_MMIO + UARTLITE_STAT_REG) & UARTLITE_TX_FULL);
|
||||
outb(UARTLITE_MMIO + UARTLITE_TX_FIFO, ch);
|
||||
#else
|
||||
assert(0);
|
||||
#endif
|
||||
}
|
||||
|
||||
int __am_uartlite_getchar() {
|
||||
// if (inb(UARTLITE_MMIO + UARTLITE_STAT_REG) & UARTLITE_RX_VALID)
|
||||
// return inb(UARTLITE_MMIO + UARTLITE_RX_FIFO);
|
||||
#ifndef NOPRINT
|
||||
if (inb(UARTLITE_MMIO + UARTLITE_STAT_REG) & UARTLITE_RX_VALID)
|
||||
return inb(UARTLITE_MMIO + UARTLITE_RX_FIFO);
|
||||
return 0;
|
||||
#endif
|
||||
return 0;
|
||||
}
|
||||
|
|
|
@ -858,7 +858,7 @@ static int _vsnprintf(out_fct_type out, char* buffer, const size_t maxlen, const
|
|||
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#ifndef NOPRINT
|
||||
int printf_(const char* format, ...)
|
||||
{
|
||||
va_list va;
|
||||
|
@ -868,6 +868,12 @@ int printf_(const char* format, ...)
|
|||
va_end(va);
|
||||
return ret;
|
||||
}
|
||||
#else
|
||||
int printf_(const char* format, ...)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
int sprintf_(char* buffer, const char* format, ...)
|
||||
|
|
Loading…
Reference in New Issue