dhrystone: create nicer custom build, baremetal almost working

This commit is contained in:
Ciro Santilli 六四事件 法轮功
2019-10-18 00:00:01 +00:00
parent 14a1bb62b6
commit 59f96b192a
8 changed files with 180 additions and 34 deletions

View File

@@ -1,15 +1,21 @@
#include <stdio.h>
#include <stdlib.h>
#include <sys/stat.h>
#include <sys/times.h>
#include <lkmc.h>
#define UART_DR(baseaddr) (*(unsigned int *)(baseaddr))
#define UART_FR(baseaddr) (*(((unsigned int *)(baseaddr))+6))
enum {
UART_FR_RXFE = 0x10,
};
#define UART_DR(baseaddr) (*(unsigned int *)(baseaddr))
#define UART_FR(baseaddr) (*(((unsigned int *)(baseaddr))+6))
extern char heap_low;
extern char heap_top;
char *heap_end = 0;
void lkmc_baremetal_on_exit_callback(int status, void *arg) {
(void)arg;
@@ -73,10 +79,15 @@ int _read(int file, char *ptr, int len) {
return todo;
}
char *heap_end = 0;
/* Dummy implementation that just increments an integer. */
_CLOCK_T_ _times_r (struct _reent *r, struct tms *ptms) {
static long long unsigned t = 0;
(void)r;
(void)ptms;
return t++;
}
caddr_t _sbrk(int incr) {
extern char heap_low;
extern char heap_top;
char *prev_heap_end;
if (heap_end == 0) {
heap_end = &heap_low;