Verified Commit e568ce53 authored by Recolic Keghart's avatar Recolic Keghart
Browse files

another trial

parent 5b11c6b8
Pipeline #799 passed with stages
in 2 minutes and 36 seconds
......@@ -12,14 +12,16 @@ uint8_t pmem[PMEM_SIZE];
/* Memory accessing interfaces */
__attribute__((hot)) uint32_t paddr_read(paddr_t addr, int len) {
switch(len) {
case 4: return pmem_rw(addr, uint32_t);
case 2: return pmem_rw(addr, uint32_t) & 0x0000ffff;
case 1: return pmem_rw(addr, uint32_t) & 0x000000ff;
case 3: return pmem_rw(addr, uint32_t) & 0x00ffffff;
case 0: return 0;
}
return pmem_rw(addr, uint32_t) & (~0u >> ((4 - len) << 3));
static const uint32_t niddle[] = {0, 0xff, 0xffff, 0xffffff, 0xffffffff};
return pmem_rw(addr, uint32_t) & niddle[len];
// switch(len) {
// case 4: return pmem_rw(addr, uint32_t);
// case 2: return pmem_rw(addr, uint32_t) & 0x0000ffff;
// case 1: return pmem_rw(addr, uint32_t) & 0x000000ff;
// case 3: return pmem_rw(addr, uint32_t) & 0x00ffffff;
// case 0: return 0;
// }
// return pmem_rw(addr, uint32_t) & (~0u >> ((4 - len) << 3));
}
void paddr_write(paddr_t addr, uint32_t data, int len) {
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment