diff --git a/platform/xen/xen/arch/x86/mm.c b/platform/xen/xen/arch/x86/mm.c index 5d6d689ce..0c0344465 100644 --- a/platform/xen/xen/arch/x86/mm.c +++ b/platform/xen/xen/arch/x86/mm.c @@ -41,6 +41,7 @@ #include #include +#include #include #ifdef MM_DEBUG @@ -460,7 +461,7 @@ pgentry_t *need_pgt(unsigned long va) offset = l4_table_offset(va); if ( !(tab[offset] & _PAGE_PRESENT) ) { - pt_pfn = virt_to_pfn(minios_alloc_page()); + pt_pfn = virt_to_pfn(bmk_pgalloc_one()); new_pt_frame(&pt_pfn, pt_mfn, offset, L3_FRAME); } ASSERT(tab[offset] & _PAGE_PRESENT); @@ -470,7 +471,7 @@ pgentry_t *need_pgt(unsigned long va) offset = l3_table_offset(va); if ( !(tab[offset] & _PAGE_PRESENT) ) { - pt_pfn = virt_to_pfn(minios_alloc_page()); + pt_pfn = virt_to_pfn(bmk_pgalloc_one()); new_pt_frame(&pt_pfn, pt_mfn, offset, L2_FRAME); } ASSERT(tab[offset] & _PAGE_PRESENT); @@ -479,7 +480,7 @@ pgentry_t *need_pgt(unsigned long va) offset = l2_table_offset(va); if ( !(tab[offset] & _PAGE_PRESENT) ) { - pt_pfn = virt_to_pfn(minios_alloc_page()); + pt_pfn = virt_to_pfn(bmk_pgalloc_one()); new_pt_frame(&pt_pfn, pt_mfn, offset, L1_FRAME); } ASSERT(tab[offset] & _PAGE_PRESENT); @@ -734,7 +735,7 @@ unsigned long minios_alloc_contig_pages(int order, unsigned int addr_bits) } /* Allocate some potentially discontiguous pages */ - in_va = minios_alloc_pages(order); + in_va = bmk_pgalloc(order); if ( !in_va ) { minios_printk("alloc_contig_pages: could not get enough pages (order=0x%x\n", @@ -822,7 +823,7 @@ unsigned long minios_alloc_contig_pages(int order, unsigned int addr_bits) if ( !exch_success ) { /* since the exchanged failed we just free the pages as well */ - minios_free_pages((void *) in_va, order); + bmk_pgfree((void *) in_va, order); return 0; } @@ -877,12 +878,12 @@ void arch_init_p2m(unsigned long max_pfn) unsigned long *l1_list = NULL, *l2_list = NULL, *l3_list; unsigned long pfn; - l3_list = (unsigned long *)minios_alloc_page(); + l3_list = (unsigned long *)bmk_pgalloc_one(); for ( pfn=0; pfn> L3_P2M_SHIFT) > 0 ) { minios_printk("Error: Too many pfns.\n"); @@ -892,7 +893,7 @@ void arch_init_p2m(unsigned long max_pfn) } if ( !(pfn % (L1_P2M_ENTRIES)) ) { - l1_list = (unsigned long*)minios_alloc_page(); + l1_list = (unsigned long*)bmk_pgalloc_one(); l2_list[(pfn >> L1_P2M_SHIFT) & L2_P2M_MASK] = virt_to_mfn(l1_list); } diff --git a/platform/xen/xen/arch/x86/traps.c b/platform/xen/xen/arch/x86/traps.c index bb6901b46..d4efbe1ec 100644 --- a/platform/xen/xen/arch/x86/traps.c +++ b/platform/xen/xen/arch/x86/traps.c @@ -6,6 +6,7 @@ #include +#include #include /* @@ -146,7 +147,7 @@ static int handle_cow(unsigned long addr) { if (PHYS_PFN(page) != _minios_mfn_zero) return 0; - new_page = minios_alloc_pages(0); + new_page = bmk_pgalloc_one(); bmk_memset((void*) new_page, 0, PAGE_SIZE); rc = HYPERVISOR_update_va_mapping(addr & PAGE_MASK, __pte(virt_to_mach(new_page) | L1_PROT), UVMF_INVLPG); diff --git a/platform/xen/xen/blkfront.c b/platform/xen/xen/blkfront.c index 67cdd7563..ef2863163 100644 --- a/platform/xen/xen/blkfront.c +++ b/platform/xen/xen/blkfront.c @@ -14,6 +14,7 @@ #include #include +#include #include #include @@ -63,7 +64,7 @@ static void free_blkfront(struct blkfront_dev *dev) bmk_memfree(dev->backend, BMK_MEMWHO_WIREDBMK); gnttab_end_access(dev->ring_ref); - minios_free_page(dev->ring.sring); + bmk_pgfree_one(dev->ring.sring); minios_unbind_evtchn(dev->evtchn); @@ -93,7 +94,7 @@ struct blkfront_dev *blkfront_init(char *_nodename, struct blkfront_info *info) dev->dom = xenbus_read_integer(path); minios_evtchn_alloc_unbound(dev->dom, blkfront_handler, dev, &dev->evtchn); - s = (struct blkif_sring*) minios_alloc_page(); + s = (struct blkif_sring*) bmk_pgalloc_one(); bmk_memset(s,0,PAGE_SIZE); diff --git a/platform/xen/xen/console/xenbus.c b/platform/xen/xen/console/xenbus.c index 07c6c362f..3a303c12f 100644 --- a/platform/xen/xen/console/xenbus.c +++ b/platform/xen/xen/console/xenbus.c @@ -14,6 +14,7 @@ #include "console.h" #include +#include #include #include @@ -54,7 +55,7 @@ void free_consfront(struct consfront_dev *dev) gnttab_end_access(dev->ring_ref); - minios_free_page(dev->ring); + bmk_pgfree_one(dev->ring); bmk_memfree(dev, BMK_MEMWHO_WIREDBMK); } @@ -88,7 +89,7 @@ struct consfront_dev *init_consfront(char *_nodename) dev->dom = res; minios_evtchn_alloc_unbound(dev->dom, console_handle_input, dev, &dev->evtchn); - dev->ring = (struct xencons_interface *) minios_alloc_page(); + dev->ring = (struct xencons_interface *) bmk_pgalloc_one(); bmk_memset(dev->ring, 0, PAGE_SIZE); dev->ring_ref = gnttab_grant_access(dev->dom, virt_to_mfn(dev->ring), 0); diff --git a/platform/xen/xen/gnttab.c b/platform/xen/xen/gnttab.c index 31345da62..9170f5030 100644 --- a/platform/xen/xen/gnttab.c +++ b/platform/xen/xen/gnttab.c @@ -20,6 +20,7 @@ #include #include +#include #include #define NR_RESERVED_ENTRIES 8 @@ -153,7 +154,7 @@ gnttab_alloc_and_grant(void **map) unsigned long mfn; grant_ref_t gref; - *map = (void *)minios_alloc_page(); + *map = (void *)bmk_pgalloc_one(); mfn = virt_to_mfn(*map); gref = gnttab_grant_access(0, mfn, 0); return gref; diff --git a/platform/xen/xen/include/mini-os/mm.h b/platform/xen/xen/include/mini-os/mm.h index f412735c2..7a94a81fd 100644 --- a/platform/xen/xen/include/mini-os/mm.h +++ b/platform/xen/xen/include/mini-os/mm.h @@ -43,10 +43,6 @@ void init_mm(void); -unsigned long minios_alloc_pages(int order); -#define minios_alloc_page() minios_alloc_pages(0) -void minios_free_pages(void *pointer, int order); -#define minios_free_page(p) minios_free_pages(p, 0) static __inline__ int get_order(unsigned long size) { diff --git a/platform/xen/xen/kernel.c b/platform/xen/xen/kernel.c index a990cf16c..59570aa47 100644 --- a/platform/xen/xen/kernel.c +++ b/platform/xen/xen/kernel.c @@ -44,6 +44,7 @@ #include #include +#include #include uint8_t _minios_xen_features[XENFEAT_NR_SUBMAPS * 32]; @@ -90,14 +91,14 @@ void * bmk_platform_allocpg2(int shift) { - return (void *)minios_alloc_pages(shift); + return (void *)bmk_pgalloc(shift); } void bmk_platform_freepg2(void *p, int shift) { - minios_free_pages(p, shift); + bmk_pgfree(p, shift); } void diff --git a/platform/xen/xen/mm.c b/platform/xen/xen/mm.c index 015f1541b..9cc24046f 100644 --- a/platform/xen/xen/mm.c +++ b/platform/xen/xen/mm.c @@ -42,6 +42,7 @@ #include #include +#include #include #ifdef MM_DEBUG @@ -199,7 +200,7 @@ USED static void print_chunks(void *start, int nr_pages) * Initialise allocator, placing addresses [@min,@max] in free pool. * @min and @max are PHYSICAL addresses. */ -static void init_page_allocator(unsigned long min, unsigned long max) +void bmk_pgalloc_loadmem(unsigned long min, unsigned long max) { int i; unsigned long range, bitmap_size; @@ -257,7 +258,7 @@ static void init_page_allocator(unsigned long min, unsigned long max) /* Allocate 2^@order contiguous pages. Returns a VIRTUAL address. */ -unsigned long minios_alloc_pages(int order) +unsigned long bmk_pgalloc(int order) { int i; chunk_head_t *alloc_ch, *spare_ch; @@ -307,7 +308,7 @@ unsigned long minios_alloc_pages(int order) return 0; } -void minios_free_pages(void *pointer, int order) +void bmk_pgfree(void *pointer, int order) { chunk_head_t *freed_ch, *to_merge_ch; chunk_tail_t *freed_ct; @@ -394,7 +395,7 @@ void init_mm(void) minios_printk("MM: Initialise page allocator for %lx(%lx)-%lx(%lx)\n", (u_long)to_virt(PFN_PHYS(start_pfn)), PFN_PHYS(start_pfn), (u_long)to_virt(PFN_PHYS(max_pfn)), PFN_PHYS(max_pfn)); - init_page_allocator(PFN_PHYS(start_pfn), PFN_PHYS(max_pfn)); + bmk_pgalloc_loadmem(PFN_PHYS(start_pfn), PFN_PHYS(max_pfn)); minios_printk("MM: done\n"); memsize = PFN_PHYS(max_pfn) - PFN_PHYS(start_pfn); diff --git a/platform/xen/xen/netfront.c b/platform/xen/xen/netfront.c index f71b005cf..0de7eb1cb 100644 --- a/platform/xen/xen/netfront.c +++ b/platform/xen/xen/netfront.c @@ -16,6 +16,7 @@ #include #include +#include #include #include @@ -221,19 +222,19 @@ static void free_netfront(struct netfront_dev *dev) gnttab_end_access(dev->rx_ring_ref); gnttab_end_access(dev->tx_ring_ref); - minios_free_page(dev->rx.sring); - minios_free_page(dev->tx.sring); + bmk_pgfree_one(dev->rx.sring); + bmk_pgfree_one(dev->tx.sring); minios_unbind_evtchn(dev->evtchn); for(i=0;irx_buffers[i].gref); - minios_free_page(dev->rx_buffers[i].page); + bmk_pgfree_one(dev->rx_buffers[i].page); } for(i=0;itx_buffers[i].page) - minios_free_page(dev->tx_buffers[i].page); + bmk_pgfree_one(dev->tx_buffers[i].page); bmk_memfree(dev, BMK_MEMWHO_WIREDBMK); } @@ -274,15 +275,15 @@ struct netfront_dev *netfront_init(char *_nodename, void (*thenetif_rx)(struct n for(i=0;irx_buffers[i].page = (char*)minios_alloc_page(); + dev->rx_buffers[i].page = (char*)bmk_pgalloc_one(); } bmk_snprintf(path, sizeof(path), "%s/backend-id", dev->nodename); dev->dom = xenbus_read_integer(path); minios_evtchn_alloc_unbound(dev->dom, netfront_handler, dev, &dev->evtchn); - txs = (struct netif_tx_sring *) minios_alloc_page(); - rxs = (struct netif_rx_sring *) minios_alloc_page(); + txs = (struct netif_tx_sring *) bmk_pgalloc_one(); + rxs = (struct netif_rx_sring *) bmk_pgalloc_one(); bmk_memset(txs,0,PAGE_SIZE); bmk_memset(rxs,0,PAGE_SIZE); @@ -541,7 +542,7 @@ void netfront_xmit(struct netfront_dev *dev, unsigned char* data,int len) buf = &dev->tx_buffers[id]; page = buf->page; if (!page) - page = buf->page = (char*) minios_alloc_page(); + page = buf->page = (char*) bmk_pgalloc_one(); i = dev->tx.req_prod_pvt; tx = RING_GET_REQUEST(&dev->tx, i); diff --git a/platform/xen/xen/pcifront.c b/platform/xen/xen/pcifront.c index 4f4b8df52..63b4174c5 100644 --- a/platform/xen/xen/pcifront.c +++ b/platform/xen/xen/pcifront.c @@ -12,6 +12,7 @@ #include #include +#include #include #include @@ -46,7 +47,7 @@ static void free_pcifront(struct pcifront_dev *dev) minios_mask_evtchn(dev->evtchn); gnttab_end_access(dev->info_ref); - minios_free_page(dev->info); + bmk_pgfree_one(dev->info); minios_unbind_evtchn(dev->evtchn); @@ -167,7 +168,7 @@ struct pcifront_dev *init_pcifront(char *_nodename) minios_evtchn_alloc_unbound(dev->dom, pcifront_handler, dev, &dev->evtchn); - dev->info = (struct xen_pci_sharedinfo*) minios_alloc_page(); + dev->info = (struct xen_pci_sharedinfo*) bmk_pgalloc_one(); bmk_memset(dev->info,0,PAGE_SIZE); dev->info_ref = gnttab_grant_access(dev->dom,virt_to_mfn(dev->info),0);