forked from M-Labs/artiq
parent
8deb269b9a
commit
92fd705990
|
@ -14,8 +14,8 @@ struct slice {
|
||||||
void send_to_core_log(struct slice str);
|
void send_to_core_log(struct slice str);
|
||||||
void send_to_rtio_log(struct slice data);
|
void send_to_rtio_log(struct slice data);
|
||||||
|
|
||||||
#define KERNELCPU_EXEC_ADDRESS 0x40800000
|
#define KERNELCPU_EXEC_ADDRESS 0x45000000
|
||||||
#define KERNELCPU_PAYLOAD_ADDRESS 0x40860000
|
#define KERNELCPU_PAYLOAD_ADDRESS 0x45060000
|
||||||
#define KERNELCPU_LAST_ADDRESS 0x4fffffff
|
#define KERNELCPU_LAST_ADDRESS 0x4fffffff
|
||||||
#define KSUPPORT_HEADER_SIZE 0x80
|
#define KSUPPORT_HEADER_SIZE 0x80
|
||||||
|
|
||||||
|
|
|
@ -2,16 +2,16 @@ INCLUDE generated/output_format.ld
|
||||||
INCLUDE generated/regions.ld
|
INCLUDE generated/regions.ld
|
||||||
ENTRY(_reset_handler)
|
ENTRY(_reset_handler)
|
||||||
|
|
||||||
/* First 4M of main memory are reserved for runtime
|
/* First 64M of main memory are reserved for runtime
|
||||||
* code/data/heap, then comes kernel memory.
|
* code/data/heap, then comes kernel memory.
|
||||||
* Next 4M of main memory are reserved for
|
* Next 16M of main memory are reserved for
|
||||||
* the background RPC queue.
|
* the background RPC queue.
|
||||||
* First 384K of kernel memory are for support code.
|
* First 384K of kernel memory are for support code.
|
||||||
* Support code is loaded at ORIGIN-0x80 so that ELF headers
|
* Support code is loaded at ORIGIN-0x80 so that ELF headers
|
||||||
* are also loaded.
|
* are also loaded.
|
||||||
*/
|
*/
|
||||||
MEMORY {
|
MEMORY {
|
||||||
ksupport (RWX) : ORIGIN = 0x40800000, LENGTH = 0x60000
|
ksupport (RWX) : ORIGIN = 0x45000000, LENGTH = 0x60000
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Kernel stack is at the end of main RAM. */
|
/* Kernel stack is at the end of main RAM. */
|
||||||
|
|
|
@ -5,8 +5,8 @@ use board_misoc::{mem, cache};
|
||||||
const SEND_MAILBOX: *mut usize = (mem::MAILBOX_BASE + 4) as *mut usize;
|
const SEND_MAILBOX: *mut usize = (mem::MAILBOX_BASE + 4) as *mut usize;
|
||||||
const RECV_MAILBOX: *mut usize = (mem::MAILBOX_BASE + 8) as *mut usize;
|
const RECV_MAILBOX: *mut usize = (mem::MAILBOX_BASE + 8) as *mut usize;
|
||||||
|
|
||||||
const QUEUE_BEGIN: usize = 0x40400000;
|
const QUEUE_BEGIN: usize = 0x44000000;
|
||||||
const QUEUE_END: usize = 0x407fff80;
|
const QUEUE_END: usize = 0x44ffff80;
|
||||||
const QUEUE_CHUNK: usize = 0x1000;
|
const QUEUE_CHUNK: usize = 0x1000;
|
||||||
|
|
||||||
pub unsafe fn init() {
|
pub unsafe fn init() {
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
use core::fmt;
|
use core::fmt;
|
||||||
use dyld;
|
use dyld;
|
||||||
|
|
||||||
pub const KERNELCPU_EXEC_ADDRESS: usize = 0x40800000;
|
pub const KERNELCPU_EXEC_ADDRESS: usize = 0x45000000;
|
||||||
pub const KERNELCPU_PAYLOAD_ADDRESS: usize = 0x40860000;
|
pub const KERNELCPU_PAYLOAD_ADDRESS: usize = 0x45060000;
|
||||||
pub const KERNELCPU_LAST_ADDRESS: usize = 0x4fffffff;
|
pub const KERNELCPU_LAST_ADDRESS: usize = 0x4fffffff;
|
||||||
pub const KSUPPORT_HEADER_SIZE: usize = 0x80;
|
pub const KSUPPORT_HEADER_SIZE: usize = 0x80;
|
||||||
|
|
||||||
|
|
|
@ -6,7 +6,7 @@ ENTRY(_reset_handler)
|
||||||
* ld does not allow this expression here.
|
* ld does not allow this expression here.
|
||||||
*/
|
*/
|
||||||
MEMORY {
|
MEMORY {
|
||||||
runtime (RWX) : ORIGIN = 0x40000000, LENGTH = 0x400000 /* 4M */
|
runtime (RWX) : ORIGIN = 0x40000000, LENGTH = 0x4000000 /* 64M */
|
||||||
}
|
}
|
||||||
|
|
||||||
SECTIONS
|
SECTIONS
|
||||||
|
|
|
@ -7,7 +7,7 @@ from misoc.integration.wb_slaves import WishboneSlaveManager
|
||||||
|
|
||||||
class KernelCPU(Module):
|
class KernelCPU(Module):
|
||||||
def __init__(self, platform,
|
def __init__(self, platform,
|
||||||
exec_address=0x40800000,
|
exec_address=0x45000000,
|
||||||
main_mem_origin=0x40000000,
|
main_mem_origin=0x40000000,
|
||||||
l2_size=8192):
|
l2_size=8192):
|
||||||
self._reset = CSRStorage(reset=1)
|
self._reset = CSRStorage(reset=1)
|
||||||
|
|
Loading…
Reference in New Issue