memlist
+ memlist->m_nseg * sizeof(struct boot_memseg);
+ memlist->m_nseg * sizeof(struct boot_memseg) + 4);
struct boot_memlist *memlist;
RELOC(memlist, struct boot_memlist *) =
end_loaded = (vaddr_t)&((RELOC(memlist, struct boot_memlist *))->
if (memlist->m_nseg > 0 && memlist->m_nseg < 16) {
for (u_int i = 0; i < memlist->m_nseg; i++) {
memlist->m_seg[i].ms_start,
memlist->m_seg[i].ms_size);
for (i = 0; i < memlist->m_nseg; i++) {
if ((memlist->m_seg[i].ms_attrib & MEMF_CHIP) == 0)
dumpsize += btoc(memlist->m_seg[i].ms_size);
m->ram_segs[1].size = memlist->m_seg[i].ms_size;
extern struct boot_memlist *memlist;
sp = memlist->m_seg;
esp = sp + memlist->m_nseg;
struct boot_memlist memlist;
+ sizeof(*nkcd) + memlist.m_nseg * sizeof(struct boot_memseg);
for (i = 0; i < memlist.m_nseg; ++i) {
memlist.m_seg[i].ms_start,
memlist.m_seg[i].ms_size,
memlist.m_seg[i].ms_attrib,
memlist.m_seg[i].ms_pri);
kmemlist->m_nseg = memlist.m_nseg;
for (mem_ix = 0; mem_ix < memlist.m_nseg; mem_ix++)
kmemlist->m_seg[mem_ix] = memlist.m_seg[mem_ix];
memlist.m_seg[nmem].ms_attrib = mh->mh_Attributes;
memlist.m_seg[nmem].ms_pri = mh->mh_Node.ln_Pri;
memlist.m_seg[nmem].ms_size = segsz;
memlist.m_seg[nmem].ms_start = seg;
memlist.m_seg[nmem].ms_attrib = mh->mh_Attributes;
memlist.m_seg[nmem].ms_pri = mh->mh_Node.ln_Pri;
memlist.m_seg[nmem].ms_size = DRACOMMUMARGIN;
memlist.m_seg[nmem].ms_start = seg;
memlist.m_seg[nmem].ms_attrib = mh->mh_Attributes;
memlist.m_seg[nmem].ms_pri = mh->mh_Node.ln_Pri;
memlist.m_seg[nmem].ms_size = segsz;
memlist.m_seg[nmem].ms_start = seg;
memlist.m_seg[nmem].ms_start = seg = 0;
memlist.m_seg[nmem].ms_size = segsz;
memlist.m_seg[nmem].ms_start = seg;
memlist.m_seg[nmem].ms_size = segsz;
memlist.m_nseg = nmem;
struct boot_memlist *memlist;
memlist = (struct boot_memlist *)end_loaded;
ms = &memlist->m_seg[0];
for (i = 0, r = 0; i < memlist->m_nseg; i++, ms++) {
PCI_MEMREG memlist;
LIST_INIT(&memlist);
insert_into_list(&memlist, p);
insert_into_list(&memlist, p);
p = LIST_FIRST(&memlist);
} while (overlap_pci_areas(LIST_FIRST(&memlist),
} while (overlap_pci_areas(LIST_FIRST(&memlist),
p = LIST_FIRST(&memlist);
p = LIST_FIRST(&memlist);
p = LIST_FIRST(&memlist);
} memlist[] = {
__CTASSERT(__arraycount(memlist) + 1 <= VM_PHYSSEG_MAX);
const struct memlist *mlist = memlist;
for (i = 0; i < __arraycount(memlist); i++) {
mem_free(struct memlist *m)
kmem_free(m, sizeof(struct memlist));
static struct memlist *
struct memlist *tmp;
struct memlist *mementry;
struct memlist *mem, *miter;
struct memlist *miter;
TAILQ_ENTRY(memlist) entry;
static TAILQ_HEAD(, memlist) memlisthead;
static struct memlist *
return kmem_zalloc(sizeof(struct memlist), KM_SLEEP);