Changeset View
Changeset View
Standalone View
Standalone View
sys/dev/dcons/dcons_os.c
Show First 20 Lines • Show All 303 Lines • ▼ Show 20 Lines | #if defined(__i386__) || defined(__amd64__) | ||||
if (getenv_quad("dcons.addr", &addr) > 0 && | if (getenv_quad("dcons.addr", &addr) > 0 && | ||||
getenv_quad("dcons.size", &size) > 0) { | getenv_quad("dcons.size", &size) > 0) { | ||||
#ifdef __i386__ | #ifdef __i386__ | ||||
vm_paddr_t pa; | vm_paddr_t pa; | ||||
/* | /* | ||||
* Allow read/write access to dcons buffer. | * Allow read/write access to dcons buffer. | ||||
*/ | */ | ||||
for (pa = trunc_page(addr); pa < addr + size; pa += PAGE_SIZE) | for (pa = trunc_page(addr); pa < addr + size; pa += PAGE_SIZE) | ||||
*vtopte(PMAP_MAP_LOW + pa) |= PG_RW; | pmap_ksetrw(PMAP_MAP_LOW + pa); | ||||
invltlb(); | invltlb(); | ||||
#endif | #endif | ||||
/* XXX P to V */ | /* XXX P to V */ | ||||
#ifdef __amd64__ | #ifdef __amd64__ | ||||
dg.buf = (struct dcons_buf *)(vm_offset_t)(KERNBASE + addr); | dg.buf = (struct dcons_buf *)(vm_offset_t)(KERNBASE + addr); | ||||
#else /* __i386__ */ | #else /* __i386__ */ | ||||
dg.buf = (struct dcons_buf *)((vm_offset_t)PMAP_MAP_LOW + | dg.buf = (struct dcons_buf *)((vm_offset_t)PMAP_MAP_LOW + | ||||
addr); | addr); | ||||
▲ Show 20 Lines • Show All 175 Lines • Show Last 20 Lines |