diff options
Diffstat (limited to 'common')
| -rw-r--r-- | common/debug.c | 44 | ||||
| -rw-r--r-- | common/dmem.c | 11 | ||||
| -rw-r--r-- | common/mem_regions.c | 8 | ||||
| -rw-r--r-- | common/pmem.c | 23 | ||||
| -rw-r--r-- | common/tcb.c | 8 | ||||
| -rw-r--r-- | common/timer.c | 2 | ||||
| -rw-r--r-- | common/vmem.c | 2 |
7 files changed, 50 insertions, 48 deletions
diff --git a/common/debug.c b/common/debug.c index af35031..2bcdf7f 100644 --- a/common/debug.c +++ b/common/debug.c @@ -64,14 +64,14 @@ struct __packed ns16550a { uint8_t scr; }; -#define LSR_DR (1 << 0) -#define LSR_OE (1 << 1) -#define LSR_PE (1 << 2) -#define LSR_FE (1 << 3) -#define LSR_BI (1 << 4) +#define LSR_DR (1 << 0) +#define LSR_OE (1 << 1) +#define LSR_PE (1 << 2) +#define LSR_FE (1 << 3) +#define LSR_BI (1 << 4) #define LSR_THRE (1 << 5) #define LSR_TEMT (1 << 6) -#define LSR_ERR (1 << 7) +#define LSR_ERR (1 << 7) static struct ns16550a *port = 0; @@ -134,23 +134,23 @@ void __setup_dbg(vm_t pt, enum serial_dev dev) * defaults (set by U-boot) seem to work alright */ } -#define LEFT_FLAG (1 << 0) -#define SIGN_FLAG (1 << 1) -#define HASH_FLAG (1 << 2) -#define ZERO_FLAG (1 << 3) -#define FMT_FLAG (1 << 4) -#define SPACE_FLAG (1 << 5) -#define LONG_FLAG (1 << 6) -#define LLONG_FLAG (1 << 7) -#define SHORT_FLAG (1 << 8) -#define CHAR_FLAG (1 << 9) -#define PRECS_FLAG (1 << 11) +#define LEFT_FLAG (1 << 0) +#define SIGN_FLAG (1 << 1) +#define HASH_FLAG (1 << 2) +#define ZERO_FLAG (1 << 3) +#define FMT_FLAG (1 << 4) +#define SPACE_FLAG (1 << 5) +#define LONG_FLAG (1 << 6) +#define LLONG_FLAG (1 << 7) +#define SHORT_FLAG (1 << 8) +#define CHAR_FLAG (1 << 9) +#define PRECS_FLAG (1 << 11) #define UNSIGN_FLAG (1 << 12) -#define WIDTH_FLAG (1 << 13) -#define PAD_FLAG (1 << 14) +#define WIDTH_FLAG (1 << 13) +#define PAD_FLAG (1 << 14) -#define CONT 1 -#define STOP 0 +#define CONT 1 +#define STOP 0 static bool __is_digit(char c) { @@ -289,7 +289,7 @@ static size_t __print_sign(ssize_t value, size_t flags) static size_t __print_integral(ssize_t value, size_t base, size_t flags, size_t width) { -#define __integral_len(a, b, c) __integral_val((a), (b), (c), false) +#define __integral_len(a, b, c) __integral_val((a), (b), (c), false) #define __integral_print(a, b, c) __integral_val((a), (b), (c), true) size_t ret = 0; diff --git a/common/dmem.c b/common/dmem.c index 8bd9da3..5d7a1d9 100644 --- a/common/dmem.c +++ b/common/dmem.c @@ -34,18 +34,19 @@ stat_t init_devmem(pm_t ram_base, pm_t ram_top) return OK; } -stat_t dev_alloc_wrapper(struct vmem *b, pm_t *offset, vm_t vaddr, - vmflags_t flags, enum mm_order order, void *data) +static stat_t dev_alloc_wrapper(struct vmem *b, pm_t *offset, vm_t vaddr, + vmflags_t flags, enum mm_order order, + void *data) { stat_t *status = (stat_t *)data; /* TODO: remember to do something with this status info */ *status = map_vpage(b, *offset, vaddr, flags, order); - *offset += __o_size(order); + *offset += order_size(order); return OK; } -stat_t dev_free_wrapper(struct vmem *b, pm_t *offset, vm_t vaddr, - vmflags_t flags, enum mm_order order, void *data) +static stat_t dev_free_wrapper(struct vmem *b, pm_t *offset, vm_t vaddr, + vmflags_t flags, enum mm_order order, void *data) { UNUSED(offset); UNUSED(flags); diff --git a/common/mem_regions.c b/common/mem_regions.c index e4d6098..eb2346d 100644 --- a/common/mem_regions.c +++ b/common/mem_regions.c @@ -10,7 +10,7 @@ #include <apos/bits.h> #include <apos/mem.h> -#define mark_region_used(r) set_bit(r, MR_USED) +#define mark_region_used(r) set_bit(r, MR_USED) #define mark_region_unused(r) clear_bit(r, MR_USED) /* pretty major slowdown when we get to some really massive numbers, not @@ -183,8 +183,8 @@ static struct mem_region *__create_region(vm_t start, vm_t end, static size_t po_align(size_t s) { for (size_t o = __mm_max_order; o > 0; --o) { - if (s >= __o_size(o)) - return __o_size(o); + if (s >= order_size(o)) + return order_size(o); } return 0; @@ -459,7 +459,7 @@ vm_t map_fill_region(struct vmem *b, region_callback_t *mem_handler, start = __addr(runner); for (; pages; top--) { - size_t o_size = __o_size(top); + size_t o_size = order_size(top); size_t o_pages = __pages(o_size); /* NULL does pass this check, so technically all NULL pages are diff --git a/common/pmem.c b/common/pmem.c index cd3666d..4759085 100644 --- a/common/pmem.c +++ b/common/pmem.c @@ -87,7 +87,7 @@ static void __mark_free(mm_node_t *op, pnum_t pnum, enum mm_order tgt, if (src == dst) { struct mm_leaf_t *o = (struct mm_leaf_t *)op; - clear_nbit(o->used[__o_container(idx)], __o_bit(idx)); + clear_nbit(o->used[order_container(idx)], order_bit(idx)); return; } @@ -96,7 +96,7 @@ static void __mark_free(mm_node_t *op, pnum_t pnum, enum mm_order tgt, __mark_free(o->next[idx], pnum, tgt, src - 1, dst); /* freeing a page results in always clearing a full bit? */ - clear_nbit(o->full[__o_container(idx)], __o_bit(idx)); + clear_nbit(o->full[order_container(idx)], order_bit(idx)); } /* this could probably use an int for status, but eh */ @@ -126,7 +126,7 @@ static bool __mark_used(mm_node_t *op, pnum_t pnum, enum mm_order tgt, if (src == dst) { struct mm_leaf_t *o = (struct mm_leaf_t *)op; - set_nbit(o->used[__o_container(idx)], __o_bit(idx)); + set_nbit(o->used[order_container(idx)], order_bit(idx)); if (idx == max_index(src)) return true; @@ -136,7 +136,7 @@ static bool __mark_used(mm_node_t *op, pnum_t pnum, enum mm_order tgt, struct mm_branch_t *o = (struct mm_branch_t *)op; if (src == tgt) { - set_nbit(o->full[__o_container(idx)], __o_bit(idx)); + set_nbit(o->full[order_container(idx)], order_bit(idx)); if (idx == max_index(src)) return true; @@ -144,8 +144,9 @@ static bool __mark_used(mm_node_t *op, pnum_t pnum, enum mm_order tgt, return false; } + /** TODO: Should I switch over to bitmaps? */ if (__mark_used(o->next[idx], pnum, tgt, src - 1, dst)) { - set_nbit(o->full[__o_container(idx)], __o_bit(idx)); + set_nbit(o->full[order_container(idx)], order_bit(idx)); if (idx == max_index(src)) return true; @@ -182,7 +183,7 @@ static pnum_t __enum_order(mm_node_t *op, pnum_t offset, enum mm_order src, struct mm_leaf_t *o = (struct mm_leaf_t *)op; foreach_not_used_page(o, idx, src) { - return page << __o_offset(src); + return page << order_offset(src); } return -1; @@ -200,7 +201,7 @@ static pnum_t __enum_order(mm_node_t *op, pnum_t offset, enum mm_order src, pnum_t ret = __enum_order(o->next[page], offset, src - 1, dst); if (!(ret < 0)) - return (page << __o_offset(src)) + ret; + return (page << order_offset(src)) + ret; } return -1; @@ -232,7 +233,7 @@ pm_t alloc_page(enum mm_order order, pm_t offset) if (pnum < 0) return 0; - pm_t paddr = pnum_to_paddr(pnum) + omap->base; + pm_t paddr = pnum_to_pm(pnum) + omap->base; mark_used(order, paddr); return paddr; } @@ -265,7 +266,7 @@ static pm_t __populate_order(mm_node_t **op, pm_t cont, enum mm_order src, for (size_t i = 0; i < num; ++i) { cont = __populate_order(&o->next[i], cont, src - 1, dst, - __o_width(src - 1)); + order_width(src - 1)); } *op = (mm_node_t *)o; @@ -287,7 +288,7 @@ static pm_t __probe_order(pm_t cont, enum mm_order src, enum mm_order dst, cont += next_elems(num); for (size_t i = 0; i < num; ++i) - cont = __probe_order(cont, src - 1, dst, __o_width(src - 1)); + cont = __probe_order(cont, src - 1, dst, order_width(src - 1)); return cont; } @@ -478,7 +479,7 @@ void init_pmem(void *fdt) /* mark reserved mem */ __mark_reserved_mem(fdt); - init_mem_blocks(); + init_mem_nodes(); init_devmem((pm_t)__pa(ram_base), (pm_t)__pa(ram_base + ram_size)); } diff --git a/common/tcb.c b/common/tcb.c index 316cc3e..c8fd811 100644 --- a/common/tcb.c +++ b/common/tcb.c @@ -31,8 +31,8 @@ void init_tcbs() * Should be enough, if we're really strapped for memory I might try * something smaller but this is fine for now. */ tcbs = (struct tcb **)alloc_page(MM_O1, 0); - num_tids = __o_size(MM_O1) / sizeof(struct tcb *); - memset(tcbs, 0, __o_size(MM_O1)); + num_tids = order_size(MM_O1) / sizeof(struct tcb *); + memset(tcbs, 0, order_size(MM_O1)); } void destroy_tcbs() @@ -105,7 +105,7 @@ struct tcb *create_thread(struct tcb *p) * (hopefully) */ /* TODO: check alignment */ struct tcb *t = (struct tcb *)align_down( - bottom + __o_size(MM_O0) - sizeof(struct tcb), sizeof(long)); + bottom + order_size(MM_O0) - sizeof(struct tcb), sizeof(long)); memset(t, 0, sizeof(struct tcb)); id_t tid = __alloc_tid(t); @@ -158,7 +158,7 @@ static stat_t __destroy_thread_data(struct tcb *t) destroy_vmem(t->rpc.vmem); /* free associated kernel stack and the structure itself */ - vm_t bottom = align_down((vm_t)t, __o_size(MM_O0)); + vm_t bottom = align_down((vm_t)t, order_size(MM_O0)); free_page(MM_O0, (pm_t)bottom); /* TODO: free stacks */ diff --git a/common/timer.c b/common/timer.c index dadb88d..5206840 100644 --- a/common/timer.c +++ b/common/timer.c @@ -30,7 +30,7 @@ struct timer_node { struct timer timer; }; -#define timer_container(ptr) container_of(ptr, struct timer_node, sp_n) +#define timer_container(ptr) container_of(ptr, struct timer_node, sp_n) #define timer_node_container(ptr) container_of(ptr, struct timer_node, timer) diff --git a/common/vmem.c b/common/vmem.c index 230620f..c9b8474 100644 --- a/common/vmem.c +++ b/common/vmem.c @@ -116,7 +116,7 @@ vm_t ref_shared_uvmem(struct tcb *t1, struct tcb *t2, vm_t va, vmflags_t flags) pm_t paddr; stat_vpage(t1->proc.vmem, v, &paddr, 0, 0); map_vpage(t2->proc.vmem, paddr, runner, flags, MM_O0); - runner += __o_size(MM_O0); + runner += order_size(MM_O0); } return v; |
