[Add] software simulator add
This commit is contained in:
36
include/common.h
Normal file
36
include/common.h
Normal file
@@ -0,0 +1,36 @@
|
||||
#pragma once
|
||||
|
||||
#include <cstdlib>
|
||||
#include <cstdio>
|
||||
#include <ctime>
|
||||
#include <cstring>
|
||||
#include <fstream>
|
||||
|
||||
#ifndef COMMON_H__
|
||||
#define COMMON_H__
|
||||
|
||||
#ifdef DEBUG_MODE
|
||||
#define Log(fmt, ...) printf("[%s@%d %ld] " fmt "\n", __FILE__, __LINE__, clock(), ## __VA_ARGS__)
|
||||
|
||||
#define panic(x) do { \
|
||||
Log(x); \
|
||||
exit(EXIT_FAILURE); \
|
||||
} while (0)
|
||||
|
||||
#define panicifnot(cond) do { \
|
||||
if (!(cond)) { \
|
||||
Log(#cond " fail"); \
|
||||
exit(EXIT_FAILURE); \
|
||||
} \
|
||||
} while (0)
|
||||
|
||||
#else
|
||||
|
||||
#define Log(...)
|
||||
#define panic(x)
|
||||
#define panicifnot(cond)
|
||||
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
22
include/devaddr.h
Normal file
22
include/devaddr.h
Normal file
@@ -0,0 +1,22 @@
|
||||
#pragma once
|
||||
|
||||
#ifndef DEVADDR_H__
|
||||
#define DEVADDR_H__
|
||||
|
||||
#define RAM_ADDR 0x0000'0000
|
||||
#define IMG_ADDR 0x0000'8000
|
||||
#define STK_ADDR 0x2000'0000
|
||||
|
||||
#define DEVICE_BASE 0xa0000000
|
||||
#define MMIO_BASE 0xa0000000
|
||||
|
||||
#define SERIAL_PORT (DEVICE_BASE + 0x00003f8)
|
||||
#define KBD_ADDR (DEVICE_BASE + 0x0000060)
|
||||
#define RTC_ADDR (DEVICE_BASE + 0x0000048)
|
||||
#define VGACTL_ADDR (DEVICE_BASE + 0x0000100)
|
||||
#define AUDIO_ADDR (DEVICE_BASE + 0x0000200)
|
||||
#define DISK_ADDR (DEVICE_BASE + 0x0000300)
|
||||
#define FB_ADDR (MMIO_BASE + 0x1000000)
|
||||
#define AUDIO_SBUF_ADDR (MMIO_BASE + 0x1200000)
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user