Module Name: src
Committed By: reinoud
Date: Tue Jan 3 12:05:01 UTC 2012
Modified Files:
src/sys/arch/usermode/dev: cpu.c ld_thunkbus.c
src/sys/arch/usermode/include: thunk.h
src/sys/arch/usermode/usermode: pmap.c syscall.c thunk.c trap.c
Log Message:
Rename the debug printf's to use a thunk_ prefix to avoid confusion.
To generate a diff of this commit:
cvs rdiff -u -r1.57 -r1.58 src/sys/arch/usermode/dev/cpu.c
cvs rdiff -u -r1.24 -r1.25 src/sys/arch/usermode/dev/ld_thunkbus.c
cvs rdiff -u -r1.54 -r1.55 src/sys/arch/usermode/include/thunk.h
cvs rdiff -u -r1.89 -r1.90 src/sys/arch/usermode/usermode/pmap.c
cvs rdiff -u -r1.19 -r1.20 src/sys/arch/usermode/usermode/syscall.c
cvs rdiff -u -r1.71 -r1.72 src/sys/arch/usermode/usermode/thunk.c
cvs rdiff -u -r1.50 -r1.51 src/sys/arch/usermode/usermode/trap.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/sys/arch/usermode/dev/cpu.c
diff -u src/sys/arch/usermode/dev/cpu.c:1.57 src/sys/arch/usermode/dev/cpu.c:1.58
--- src/sys/arch/usermode/dev/cpu.c:1.57 Tue Dec 27 14:55:31 2011
+++ src/sys/arch/usermode/dev/cpu.c Tue Jan 3 12:05:01 2012
@@ -1,4 +1,4 @@
-/* $NetBSD: cpu.c,v 1.57 2011/12/27 14:55:31 reinoud Exp $ */
+/* $NetBSD: cpu.c,v 1.58 2012/01/03 12:05:01 reinoud Exp $ */
/*-
* Copyright (c) 2007 Jared D. McNeill <[email protected]>
@@ -30,7 +30,7 @@
#include "opt_hz.h"
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: cpu.c,v 1.57 2011/12/27 14:55:31 reinoud Exp $");
+__KERNEL_RCSID(0, "$NetBSD: cpu.c,v 1.58 2012/01/03 12:05:01 reinoud Exp $");
#include <sys/param.h>
#include <sys/conf.h>
@@ -164,7 +164,7 @@ cpu_switchto(lwp_t *oldlwp, lwp_t *newlw
struct cpu_info *ci = curcpu();
#ifdef CPU_DEBUG
- dprintf_debug("cpu_switchto [%s,pid=%d,lid=%d] -> [%s,pid=%d,lid=%d]\n",
+ thunk_printf_debug("cpu_switchto [%s,pid=%d,lid=%d] -> [%s,pid=%d,lid=%d]\n",
oldlwp ? oldlwp->l_name : "none",
oldlwp ? oldlwp->l_proc->p_pid : -1,
oldlwp ? oldlwp->l_lid : -1,
@@ -172,14 +172,14 @@ cpu_switchto(lwp_t *oldlwp, lwp_t *newlw
newlwp ? newlwp->l_proc->p_pid : -1,
newlwp ? newlwp->l_lid : -1);
if (oldpcb) {
- dprintf_debug(" oldpcb uc_link=%p, uc_stack.ss_sp=%p, "
+ thunk_printf_debug(" oldpcb uc_link=%p, uc_stack.ss_sp=%p, "
"uc_stack.ss_size=%d\n",
oldpcb->pcb_ucp.uc_link,
oldpcb->pcb_ucp.uc_stack.ss_sp,
(int)oldpcb->pcb_ucp.uc_stack.ss_size);
}
if (newpcb) {
- dprintf_debug(" newpcb uc_link=%p, uc_stack.ss_sp=%p, "
+ thunk_printf_debug(" newpcb uc_link=%p, uc_stack.ss_sp=%p, "
"uc_stack.ss_size=%d\n",
newpcb->pcb_ucp.uc_link,
newpcb->pcb_ucp.uc_stack.ss_sp,
@@ -203,7 +203,7 @@ cpu_switchto(lwp_t *oldlwp, lwp_t *newlw
}
#ifdef CPU_DEBUG
- dprintf_debug("cpu_switchto: returning %p (was %p)\n", ci->ci_stash, oldlwp);
+ thunk_printf_debug("cpu_switchto: returning %p (was %p)\n", ci->ci_stash, oldlwp);
#endif
return ci->ci_stash;
}
@@ -212,7 +212,7 @@ void
cpu_dumpconf(void)
{
#ifdef CPU_DEBUG
- dprintf_debug("cpu_dumpconf\n");
+ thunk_printf_debug("cpu_dumpconf\n");
#endif
}
@@ -228,7 +228,7 @@ cpu_getmcontext(struct lwp *l, mcontext_
ucontext_t *ucp = &pcb->pcb_userret_ucp;
#ifdef CPU_DEBUG
- dprintf_debug("cpu_getmcontext\n");
+ thunk_printf_debug("cpu_getmcontext\n");
#endif
memcpy(mcp, &ucp->uc_mcontext, sizeof(mcontext_t));
return;
@@ -241,7 +241,7 @@ cpu_setmcontext(struct lwp *l, const mco
ucontext_t *ucp = &pcb->pcb_userret_ucp;
#ifdef CPU_DEBUG
- dprintf_debug("cpu_setmcontext\n");
+ thunk_printf_debug("cpu_setmcontext\n");
#endif
memcpy(&ucp->uc_mcontext, mcp, sizeof(mcontext_t));
return 0;
@@ -262,7 +262,7 @@ void
cpu_lwp_free(struct lwp *l, int proc)
{
#ifdef CPU_DEBUG
- dprintf_debug("cpu_lwp_free (dummy)\n");
+ thunk_printf_debug("cpu_lwp_free (dummy)\n");
#endif
}
@@ -272,7 +272,7 @@ cpu_lwp_free2(struct lwp *l)
struct pcb *pcb = lwp_getpcb(l);
#ifdef CPU_DEBUG
- dprintf_debug("cpu_lwp_free2\n");
+ thunk_printf_debug("cpu_lwp_free2\n");
#endif
if (pcb == NULL)
@@ -301,7 +301,7 @@ static void
cpu_lwp_trampoline(ucontext_t *ucp, void (*func)(void *), void *arg)
{
#ifdef CPU_DEBUG
- dprintf_debug("cpu_lwp_trampoline called with func %p, arg %p\n", (void *) func, arg);
+ thunk_printf_debug("cpu_lwp_trampoline called with func %p, arg %p\n", (void *) func, arg);
#endif
/* init lwp */
lwp_startup(curcpu()->ci_stash, curlwp);
@@ -320,7 +320,7 @@ cpu_lwp_fork(struct lwp *l1, struct lwp
void *stack_ucp, *stack_syscall_ucp, *stack_pagefault_ucp;
#ifdef CPU_DEBUG
- dprintf_debug("cpu_lwp_fork [%s/%p] -> [%s/%p] stack=%p stacksize=%d\n",
+ thunk_printf_debug("cpu_lwp_fork [%s/%p] -> [%s/%p] stack=%p stacksize=%d\n",
l1 ? l1->l_name : "none", l1,
l2 ? l2->l_name : "none", l2,
stack, (int)stacksize);
@@ -338,6 +338,10 @@ cpu_lwp_fork(struct lwp *l1, struct lwp
stack_pagefault_ucp = malloc(stacksize, M_TEMP, M_NOWAIT);
pcb2->pcb_needfree = true;
+ KASSERT(stack_ucp);
+ KASSERT(stack_syscall_ucp);
+ KASSERT(stack_pagefault_ucp);
+
if (thunk_getcontext(&pcb2->pcb_ucp))
panic("getcontext failed");
Index: src/sys/arch/usermode/dev/ld_thunkbus.c
diff -u src/sys/arch/usermode/dev/ld_thunkbus.c:1.24 src/sys/arch/usermode/dev/ld_thunkbus.c:1.25
--- src/sys/arch/usermode/dev/ld_thunkbus.c:1.24 Wed Dec 14 21:22:24 2011
+++ src/sys/arch/usermode/dev/ld_thunkbus.c Tue Jan 3 12:05:01 2012
@@ -1,4 +1,4 @@
-/* $NetBSD: ld_thunkbus.c,v 1.24 2011/12/14 21:22:24 jmcneill Exp $ */
+/* $NetBSD: ld_thunkbus.c,v 1.25 2012/01/03 12:05:01 reinoud Exp $ */
/*-
* Copyright (c) 2011 Jared D. McNeill <[email protected]>
@@ -27,7 +27,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: ld_thunkbus.c,v 1.24 2011/12/14 21:22:24 jmcneill Exp $");
+__KERNEL_RCSID(0, "$NetBSD: ld_thunkbus.c,v 1.25 2012/01/03 12:05:01 reinoud Exp $");
#include <sys/param.h>
#include <sys/proc.h>
@@ -182,9 +182,9 @@ ld_thunkbus_complete(void *arg)
}
done:
- dprintf_debug("\tfin\n");
+ thunk_printf_debug("\tfin\n");
if (bp->b_error)
- dprintf_debug("error!\n");
+ thunk_printf_debug("error!\n");
sc->busy = false;
lddone(&sc->sc_ld, bp);
Index: src/sys/arch/usermode/include/thunk.h
diff -u src/sys/arch/usermode/include/thunk.h:1.54 src/sys/arch/usermode/include/thunk.h:1.55
--- src/sys/arch/usermode/include/thunk.h:1.54 Sat Dec 31 21:31:15 2011
+++ src/sys/arch/usermode/include/thunk.h Tue Jan 3 12:05:01 2012
@@ -1,4 +1,4 @@
-/* $NetBSD: thunk.h,v 1.54 2011/12/31 21:31:15 christos Exp $ */
+/* $NetBSD: thunk.h,v 1.55 2012/01/03 12:05:01 reinoud Exp $ */
/*-
* Copyright (c) 2011 Jared D. McNeill <[email protected]>
@@ -70,7 +70,8 @@ struct thunk_termios {
struct aiocb;
-void dprintf_debug(const char *fmt, ...) __attribute__((__format__(__printf__, 1, 2)));
+void thunk_printf_debug(const char *fmt, ...) __attribute__((__format__(__printf__, 1, 2)));
+void thunk_printf(const char *fmt, ...) __attribute__((__format__(__printf__, 1, 2)));
int thunk_setitimer(int, const struct thunk_itimerval *, struct thunk_itimerval *);
int thunk_gettimeofday(struct thunk_timeval *, void *);
Index: src/sys/arch/usermode/usermode/pmap.c
diff -u src/sys/arch/usermode/usermode/pmap.c:1.89 src/sys/arch/usermode/usermode/pmap.c:1.90
--- src/sys/arch/usermode/usermode/pmap.c:1.89 Mon Jan 2 09:49:12 2012
+++ src/sys/arch/usermode/usermode/pmap.c Tue Jan 3 12:05:00 2012
@@ -1,4 +1,4 @@
-/* $NetBSD: pmap.c,v 1.89 2012/01/02 09:49:12 reinoud Exp $ */
+/* $NetBSD: pmap.c,v 1.90 2012/01/03 12:05:00 reinoud Exp $ */
/*-
* Copyright (c) 2011 Reinoud Zandijk <[email protected]>
@@ -27,7 +27,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: pmap.c,v 1.89 2012/01/02 09:49:12 reinoud Exp $");
+__KERNEL_RCSID(0, "$NetBSD: pmap.c,v 1.90 2012/01/03 12:05:00 reinoud Exp $");
#include "opt_memsize.h"
#include "opt_kmempages.h"
@@ -154,13 +154,13 @@ pmap_bootstrap(void)
vm_min_addr = thunk_get_vm_min_address();
vm_min_addr = vm_min_addr < PAGE_SIZE ? PAGE_SIZE : vm_min_addr;
- dprintf_debug("Information retrieved from system and elf image\n");
- dprintf_debug("min VM address at %p\n", (void *) vm_min_addr);
- dprintf_debug("start kernel at %p\n", _start);
- dprintf_debug(" end kernel at %p\n", &etext);
- dprintf_debug(" end of init. data at %p\n", &edata);
- dprintf_debug("1st end of data at %p\n", &end);
- dprintf_debug("CUR end data at %p\n", thunk_sbrk(0));
+ thunk_printf_debug("Information retrieved from system and elf image\n");
+ thunk_printf_debug("min VM address at %p\n", (void *) vm_min_addr);
+ thunk_printf_debug("start kernel at %p\n", _start);
+ thunk_printf_debug(" end kernel at %p\n", &etext);
+ thunk_printf_debug(" end of init. data at %p\n", &edata);
+ thunk_printf_debug("1st end of data at %p\n", &end);
+ thunk_printf_debug("CUR end data at %p\n", thunk_sbrk(0));
/* calculate kernel section (R-X) */
kmem_k_start = (vaddr_t) PAGE_SIZE * (atop(_start) );
@@ -217,7 +217,7 @@ pmap_bootstrap(void)
panic("pmap_bootstrap: kvm uvm space protection "
"failed (%d)\n", thunk_geterrno());
- dprintf_debug("Creating memory mapped backend\n");
+ thunk_printf_debug("Creating memory mapped backend\n");
/* create memory file since mmap/maccess only can be on files */
strlcpy(mem_name, "/tmp/netbsd.XXXXXX", sizeof(mem_name));
@@ -274,14 +274,14 @@ pmap_bootstrap(void)
/* calculate pv table size */
phys_npages = (free_end - free_start) / PAGE_SIZE;
pv_table_size = round_page(phys_npages * sizeof(struct pv_entry));
- dprintf_debug("claiming %"PRIu64" KB of pv_table for "
+ thunk_printf_debug("claiming %"PRIu64" KB of pv_table for "
"%"PRIdPTR" pages of physical memory\n",
(uint64_t) pv_table_size/1024, (uintptr_t) phys_npages);
/* calculate number of pmap entries needed for a complete map */
pm_nentries = (VM_MAX_KERNEL_ADDRESS - VM_MIN_ADDRESS) / PAGE_SIZE;
pm_entries_size = round_page(pm_nentries * sizeof(struct pv_entry *));
- dprintf_debug("tlb va->pa lookup table is %"PRIu64" KB for "
+ thunk_printf_debug("tlb va->pa lookup table is %"PRIu64" KB for "
"%d logical pages\n", pm_entries_size/1024, pm_nentries);
/* calculate how big the l1 tables are going to be */
@@ -300,7 +300,7 @@ pmap_bootstrap(void)
memset(pv_table, 0, pv_table_size); /* test and clear */
- dprintf_debug("pv_table initialiased correctly, mmap works\n");
+ thunk_printf_debug("pv_table initialiased correctly, mmap works\n");
/* advance */
kmem_ext_cur_start += pv_table_size;
@@ -318,7 +318,7 @@ pmap_bootstrap(void)
memset(tlb, 0, pm_entries_size); /* test and clear */
- dprintf_debug("kernel tlb entries initialized correctly\n");
+ thunk_printf_debug("kernel tlb entries initialized correctly\n");
/* advance */
kmem_ext_cur_start += pm_entries_size;
@@ -341,7 +341,7 @@ pmap_bootstrap(void)
memset(pmap->pm_l1, 0, pm_l1_size); /* test and clear */
- dprintf_debug("kernel pmap l1 table initialiased correctly\n");
+ thunk_printf_debug("kernel pmap l1 table initialiased correctly\n");
/* advance for l1 tables */
kmem_ext_cur_start += round_page(pm_l1_size);
@@ -379,25 +379,25 @@ pmap_bootstrap(void)
va = (vaddr_t) pv_table + pg;
pmap_kenter_pa(va, pa, VM_PROT_READ | VM_PROT_WRITE, 0);
}
- dprintf_debug("pv_table mem added to the kernel pmap\n");
+ thunk_printf_debug("pv_table mem added to the kernel pmap\n");
for (pg = 0; pg < pm_entries_size; pg += PAGE_SIZE) {
pa = tlb_fpos + pg;
va = (vaddr_t) tlb + pg;
pmap_kenter_pa(va, pa, VM_PROT_READ | VM_PROT_WRITE, 0);
}
- dprintf_debug("kernel tlb entries mem added to the kernel pmap\n");
+ thunk_printf_debug("kernel tlb entries mem added to the kernel pmap\n");
for (pg = 0; pg < pm_l1_size; pg += PAGE_SIZE) {
pa = pm_l1_fpos + pg;
va = (vaddr_t) pmap->pm_l1 + pg;
pmap_kenter_pa(va, pa, VM_PROT_READ | VM_PROT_WRITE, 0);
}
- dprintf_debug("kernel pmap l1 mem added to the kernel pmap\n");
+ thunk_printf_debug("kernel pmap l1 mem added to the kernel pmap\n");
for (pg = 0; pg < pm_entries_size; pg += PAGE_SIZE) {
pa = pm_fpos + pg;
va = (vaddr_t) kernel_pm_entries + pg;
pmap_kenter_pa(va, pa, VM_PROT_READ | VM_PROT_WRITE, 0);
}
- dprintf_debug("kernel pmap entries mem added to the kernel pmap\n");
+ thunk_printf_debug("kernel pmap entries mem added to the kernel pmap\n");
/* add file space to uvm's FREELIST */
/* XXX really from 0? or from fpos to have better stats */
@@ -456,7 +456,7 @@ pmap_create(void)
pmap_initialised = 1;
}
- dprintf_debug("pmap_create\n");
+ thunk_printf_debug("pmap_create\n");
num_pmaps++;
#if 0
printf("%s: pre alloc: num_pmaps %"PRIu64" (%"PRIu64" kb), "
@@ -477,7 +477,7 @@ pmap_create(void)
pmap->pm_l1 = pool_get(&pmap_l1_pool, PR_WAITOK);
memset(pmap->pm_l1, 0, pm_l1_size);
- dprintf_debug("\tpmap %p\n", pmap);
+ thunk_printf_debug("\tpmap %p\n", pmap);
return pmap;
}
@@ -489,7 +489,7 @@ pmap_destroy(pmap_t pmap)
int l1, l2;
/* if multiple references exist just remove a reference */
- dprintf_debug("pmap_destroy %p\n", pmap);
+ thunk_printf_debug("pmap_destroy %p\n", pmap);
if (--pmap->pm_count > 0)
return;
num_pmaps--;
@@ -522,7 +522,7 @@ pmap_destroy(pmap_t pmap)
void
pmap_reference(pmap_t pmap)
{
- dprintf_debug("pmap_reference %p\n", (void *) pmap);
+ thunk_printf_debug("pmap_reference %p\n", (void *) pmap);
pmap->pm_count++;
}
@@ -575,7 +575,7 @@ pv_get(pmap_t pmap, uintptr_t ppn, uintp
}
}
/* Otherwise, allocate a new entry and link it in after the head. */
- dprintf_debug("pv_get: multiple mapped page ppn %"PRIdPTR", "
+ thunk_printf_debug("pv_get: multiple mapped page ppn %"PRIdPTR", "
"lpn %"PRIdPTR"\n", ppn, lpn);
/* extra sanity */
@@ -632,7 +632,7 @@ pmap_fault(pmap_t pmap, vaddr_t va, vm_p
uintptr_t lpn, ppn;
int prot, cur_prot, diff;
- dprintf_debug("pmap_fault pmap %p, va %p\n", pmap, (void *) va);
+ thunk_printf_debug("pmap_fault pmap %p, va %p\n", pmap, (void *) va);
/* get logical page from vaddr */
lpn = atop(va - VM_MIN_ADDRESS); /* V->L */
@@ -640,7 +640,7 @@ pmap_fault(pmap_t pmap, vaddr_t va, vm_p
/* not known! then it must be UVM's work */
if (pv == NULL) {
- dprintf_debug("%s: no mapping yet\n", __func__);
+ thunk_printf_debug("%s: no mapping yet\n", __func__);
*atype = VM_PROT_READ; /* assume it was a read */
return false;
}
@@ -661,7 +661,7 @@ pmap_fault(pmap_t pmap, vaddr_t va, vm_p
/* check the TLB, if NULL we have a TLB fault */
if (tlb[pv->pv_lpn] == NULL) {
if (pv->pv_mmap_ppl != THUNK_PROT_NONE) {
- dprintf_debug("%s: tlb fault page lpn %"PRIiPTR"\n",
+ thunk_printf_debug("%s: tlb fault page lpn %"PRIiPTR"\n",
__func__, pv->pv_lpn);
pmap_page_activate(pv);
return true;
@@ -680,7 +680,7 @@ pmap_fault(pmap_t pmap, vaddr_t va, vm_p
diff = prot & (prot ^ cur_prot);
- dprintf_debug("%s: prot = %d, cur_prot = %d, diff = %d\n",
+ thunk_printf_debug("%s: prot = %d, cur_prot = %d, diff = %d\n",
__func__, prot, cur_prot, diff);
*atype = VM_PROT_READ; /* assume its a read error */
if (diff & VM_PROT_READ) {
@@ -742,7 +742,7 @@ pmap_page_activate(struct pv_entry *pv)
addr = thunk_mmap((void *) va, PAGE_SIZE, pv->pv_mmap_ppl,
map_flags, mem_fh, pa);
- dprintf_debug("page_activate: (va %p, pa %p, prot %d, ppl %d) -> %p\n",
+ thunk_printf_debug("page_activate: (va %p, pa %p, prot %d, ppl %d) -> %p\n",
(void *) va, (void *) pa, pv->pv_prot, pv->pv_mmap_ppl,
(void *) addr);
if (addr != (void *) va)
@@ -765,7 +765,7 @@ pmap_page_deactivate(struct pv_entry *pv
map_flags = THUNK_MAP_FILE | THUNK_MAP_FIXED | THUNK_MAP_SHARED;
addr = thunk_mmap((void *) va, PAGE_SIZE, THUNK_PROT_NONE,
map_flags, mem_fh, pa);
- dprintf_debug("page_deactivate: (va %p, pa %p, ppl %d) -> %p\n",
+ thunk_printf_debug("page_deactivate: (va %p, pa %p, ppl %d) -> %p\n",
(void *) va, (void *) pa, pv->pv_mmap_ppl, (void *) addr);
if (addr != (void *) va)
panic("pmap_page_deactivate: mmap failed");
@@ -814,7 +814,7 @@ pmap_update_page(uintptr_t ppn)
struct pv_entry *pv;
for (pv = &pv_table[ppn]; pv != NULL; pv = pv->pv_next) {
- dprintf_debug("pmap_update_page: ppn %"PRIdPTR", pv->pv_map = %p\n",
+ thunk_printf_debug("pmap_update_page: ppn %"PRIdPTR", pv->pv_map = %p\n",
ppn, pv->pv_pmap);
if (pv->pv_pmap != NULL) {
pv_update(pv);
@@ -900,7 +900,7 @@ pmap_do_enter(pmap_t pmap, vaddr_t va, p
int
pmap_enter(pmap_t pmap, vaddr_t va, paddr_t pa, vm_prot_t prot, u_int flags)
{
- dprintf_debug("pmap_enter %p : v %p, p %p, prot %d, flags %d\n",
+ thunk_printf_debug("pmap_enter %p : v %p, p %p, prot %d, flags %d\n",
(void *) pmap, (void *) va, (void *) pa, (int) prot, (int) flags);
return pmap_do_enter(pmap, va, pa, prot, flags, 0);
}
@@ -911,7 +911,7 @@ pv_release(pmap_t pmap, uintptr_t ppn, u
{
struct pv_entry *pv, *npv;
- dprintf_debug("pv_release ppn %"PRIdPTR", lpn %"PRIdPTR"\n", ppn, lpn);
+ thunk_printf_debug("pv_release ppn %"PRIdPTR", lpn %"PRIdPTR"\n", ppn, lpn);
pv = &pv_table[ppn];
/*
* If it is the first entry on the list, it is actually
@@ -953,7 +953,7 @@ pmap_remove(pmap_t pmap, vaddr_t sva, va
slpn = atop(sva - VM_MIN_ADDRESS); /* V->L */
elpn = atop(eva - VM_MIN_ADDRESS); /* V->L */
- dprintf_debug("pmap_remove() called from "
+ thunk_printf_debug("pmap_remove() called from "
"lpn %"PRIdPTR" to lpn %"PRIdPTR"\n", slpn, elpn);
s = splvm();
@@ -978,7 +978,7 @@ void
pmap_remove_all(pmap_t pmap)
{
/* just a hint that all the entries are to be removed */
- dprintf_debug("pmap_remove_all() dummy called\n");
+ thunk_printf_debug("pmap_remove_all() dummy called\n");
/* we dont do anything with the kernel pmap */
if (pmap == pmap_kernel())
@@ -1015,7 +1015,7 @@ pmap_protect(pmap_t pmap, vaddr_t sva, v
slpn = atop(sva - VM_MIN_ADDRESS); /* V->L */
elpn = atop(eva - VM_MIN_ADDRESS); /* V->L */
- dprintf_debug("pmap_protect() called from "
+ thunk_printf_debug("pmap_protect() called from "
"lpn %"PRIdPTR" to lpn %"PRIdPTR"\n", slpn, elpn);
s = splvm();
@@ -1037,7 +1037,7 @@ pmap_unwire(pmap_t pmap, vaddr_t va)
struct pv_entry *pv;
intptr_t lpn;
- dprintf_debug("pmap_unwire called va = %p\n", (void *) va);
+ thunk_printf_debug("pmap_unwire called va = %p\n", (void *) va);
if (pmap == NULL)
return;
@@ -1061,7 +1061,7 @@ pmap_extract(pmap_t pmap, vaddr_t va, pa
struct pv_entry *pv;
intptr_t lpn;
- dprintf_debug("pmap_extract: extracting va %p\n", (void *) va);
+ thunk_printf_debug("pmap_extract: extracting va %p\n", (void *) va);
#ifdef DIAGNOSTIC
if ((va < VM_MIN_ADDRESS) || (va > VM_MAX_KERNEL_ADDRESS))
panic("pmap_extract: invalid va isued\n");
@@ -1083,7 +1083,7 @@ pmap_extract(pmap_t pmap, vaddr_t va, pa
void
pmap_kenter_pa(vaddr_t va, paddr_t pa, vm_prot_t prot, u_int flags)
{
- dprintf_debug("pmap_kenter_pa : v %p, p %p, prot %d, flags %d\n",
+ thunk_printf_debug("pmap_kenter_pa : v %p, p %p, prot %d, flags %d\n",
(void *) va, (void *) pa, (int) prot, (int) flags);
pmap_do_enter(pmap_kernel(), va, pa, prot, prot | PMAP_WIRED, 1);
}
@@ -1098,13 +1098,13 @@ void
pmap_copy(pmap_t dst_map, pmap_t src_map, vaddr_t dst_addr, vsize_t len,
vaddr_t src_addr)
{
- dprintf_debug("pmap_copy (dummy)\n");
+ thunk_printf_debug("pmap_copy (dummy)\n");
}
void
pmap_update(pmap_t pmap)
{
- dprintf_debug("pmap_update (dummy)\n");
+ thunk_printf_debug("pmap_update (dummy)\n");
}
void
@@ -1114,7 +1114,7 @@ pmap_activate(struct lwp *l)
pmap_t pmap;
pmap = p->p_vmspace->vm_map.pmap;
- dprintf_debug("pmap_activate for lwp %p, pmap = %p\n", l, pmap);
+ thunk_printf_debug("pmap_activate for lwp %p, pmap = %p\n", l, pmap);
if (pmap == pmap_kernel())
return; /* kernel pmap is always active */
@@ -1136,7 +1136,7 @@ pmap_deactivate(struct lwp *l)
int l1, l2;
pmap = p->p_vmspace->vm_map.pmap;
- dprintf_debug("pmap_DEactivate for lwp %p, pmap = %p\n", l, pmap);
+ thunk_printf_debug("pmap_DEactivate for lwp %p, pmap = %p\n", l, pmap);
if (pmap == pmap_kernel())
return; /* kernel pmap is always active */
@@ -1169,7 +1169,7 @@ pmap_zero_page(paddr_t pa)
{
char *blob;
- dprintf_debug("pmap_zero_page: pa %p\n", (void *) pa);
+ thunk_printf_debug("pmap_zero_page: pa %p\n", (void *) pa);
if (pa & (PAGE_SIZE-1))
panic("%s: unaligned address passed : %p\n", __func__, (void *) pa);
@@ -1196,7 +1196,7 @@ pmap_copy_page(paddr_t src_pa, paddr_t d
if (dst_pa & (PAGE_SIZE-1))
panic("%s: unaligned address passed : %p\n", __func__, (void *) dst_pa);
- dprintf_debug("pmap_copy_page: pa src %p, pa dst %p\n",
+ thunk_printf_debug("pmap_copy_page: pa src %p, pa dst %p\n",
(void *) src_pa, (void *) dst_pa);
sblob = thunk_mmap(NULL, PAGE_SIZE,
@@ -1227,7 +1227,7 @@ pmap_page_protect(struct vm_page *page,
struct pv_entry *pv, *npv;
ppn = atop(VM_PAGE_TO_PHYS(page));
- dprintf_debug("pmap_page_protect page %"PRIiPTR" to prot %d\n", ppn, prot);
+ thunk_printf_debug("pmap_page_protect page %"PRIiPTR" to prot %d\n", ppn, prot);
if (prot == VM_PROT_NONE) {
/* visit all mappings */
@@ -1281,7 +1281,7 @@ pmap_clear_modify(struct vm_page *page)
ppn = atop(VM_PAGE_TO_PHYS(page));
rv = pmap_is_modified(page);
- dprintf_debug("pmap_clear_modify page %"PRIiPTR"\n", ppn);
+ thunk_printf_debug("pmap_clear_modify page %"PRIiPTR"\n", ppn);
/* if marked modified, clear it in all the pmap's referencing it */
if (rv) {
@@ -1306,7 +1306,7 @@ pmap_clear_reference(struct vm_page *pag
ppn = atop(VM_PAGE_TO_PHYS(page));
rv = pmap_is_referenced(page);
- dprintf_debug("pmap_clear_reference page %"PRIiPTR"\n", ppn);
+ thunk_printf_debug("pmap_clear_reference page %"PRIiPTR"\n", ppn);
if (rv) {
pv_table[ppn].pv_pflags &= ~PV_REFERENCED;
@@ -1324,7 +1324,7 @@ pmap_is_modified(struct vm_page *page)
ppn = atop(VM_PAGE_TO_PHYS(page));
rv = (pv_table[ppn].pv_pflags & PV_MODIFIED) != 0;
- dprintf_debug("pmap_is_modified page %"PRIiPTR" : %s\n", ppn, rv?"yes":"no");
+ thunk_printf_debug("pmap_is_modified page %"PRIiPTR" : %s\n", ppn, rv?"yes":"no");
return rv;
}
@@ -1335,7 +1335,7 @@ pmap_is_referenced(struct vm_page *page)
intptr_t ppn;
ppn = atop(VM_PAGE_TO_PHYS(page));
- dprintf_debug("pmap_is_referenced page %"PRIiPTR"\n", ppn);
+ thunk_printf_debug("pmap_is_referenced page %"PRIiPTR"\n", ppn);
return (pv_table[ppn].pv_pflags & PV_REFERENCED) != 0;
}
@@ -1349,7 +1349,7 @@ pmap_phys_address(paddr_t cookie)
vaddr_t
pmap_growkernel(vaddr_t maxkvaddr)
{
- dprintf_debug("pmap_growkernel: till %p (adding %"PRIu64" KB)\n",
+ thunk_printf_debug("pmap_growkernel: till %p (adding %"PRIu64" KB)\n",
(void *) maxkvaddr,
(uint64_t) (maxkvaddr - kmem_ext_cur_end)/1024);
if (maxkvaddr > kmem_ext_end)
Index: src/sys/arch/usermode/usermode/syscall.c
diff -u src/sys/arch/usermode/usermode/syscall.c:1.19 src/sys/arch/usermode/usermode/syscall.c:1.20
--- src/sys/arch/usermode/usermode/syscall.c:1.19 Tue Dec 20 15:45:37 2011
+++ src/sys/arch/usermode/usermode/syscall.c Tue Jan 3 12:05:00 2012
@@ -1,4 +1,4 @@
-/* $NetBSD: syscall.c,v 1.19 2011/12/20 15:45:37 reinoud Exp $ */
+/* $NetBSD: syscall.c,v 1.20 2012/01/03 12:05:00 reinoud Exp $ */
/*-
* Copyright (c) 2007 Jared D. McNeill <[email protected]>
@@ -27,7 +27,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: syscall.c,v 1.19 2011/12/20 15:45:37 reinoud Exp $");
+__KERNEL_RCSID(0, "$NetBSD: syscall.c,v 1.20 2012/01/03 12:05:00 reinoud Exp $");
#include <sys/types.h>
#include <sys/param.h>
@@ -117,8 +117,8 @@ syscall(void)
#if 0
aprint_debug("syscall no. %d, ", code);
aprint_debug("nargs %d, argsize %d => ", nargs, argsize);
- dprintf_debug("syscall no. %d, ", code);
- dprintf_debug("nargs %d, argsize %d => ", nargs, argsize);
+ thunk_printf_debug("syscall no. %d, ", code);
+ thunk_printf_debug("nargs %d, argsize %d => ", nargs, argsize);
#endif
/*
@@ -160,7 +160,7 @@ syscall(void)
/* nothing to do */
break;
}
- //dprintf_debug("end of syscall : return to userland\n");
+ //thunk_printf_debug("end of syscall : return to userland\n");
//if (code != 4) printf("userret() code %d\n", code);
userret(l);
}
@@ -219,7 +219,7 @@ return;
}
#if 0
if ((code == 4)) {
-// dprintf_debug("[us] %s", (char *) args[1]);
+// thunk_printf_debug("[us] %s", (char *) args[1]);
printf("[us] %s", (char *) args[1]);
}
#endif
Index: src/sys/arch/usermode/usermode/thunk.c
diff -u src/sys/arch/usermode/usermode/thunk.c:1.71 src/sys/arch/usermode/usermode/thunk.c:1.72
--- src/sys/arch/usermode/usermode/thunk.c:1.71 Sat Dec 31 21:29:12 2011
+++ src/sys/arch/usermode/usermode/thunk.c Tue Jan 3 12:05:00 2012
@@ -1,4 +1,4 @@
-/* $NetBSD: thunk.c,v 1.71 2011/12/31 21:29:12 christos Exp $ */
+/* $NetBSD: thunk.c,v 1.72 2012/01/03 12:05:00 reinoud Exp $ */
/*-
* Copyright (c) 2011 Jared D. McNeill <[email protected]>
@@ -28,7 +28,7 @@
#include <sys/cdefs.h>
#ifdef __NetBSD__
-__RCSID("$NetBSD: thunk.c,v 1.71 2011/12/31 21:29:12 christos Exp $");
+__RCSID("$NetBSD: thunk.c,v 1.72 2012/01/03 12:05:00 reinoud Exp $");
#endif
#include <sys/types.h>
@@ -82,15 +82,26 @@ __RCSID("$NetBSD: thunk.c,v 1.71 2011/12
extern int boothowto;
void
-dprintf_debug(const char *fmt, ...)
+thunk_printf_debug(const char *fmt, ...)
{
- if (boothowto & AB_DEBUG) {
- va_list ap;
+ if (boothowto & AB_DEBUG) {
+ va_list ap;
- va_start(ap, fmt);
- vfprintf(stderr, fmt, ap);
- va_end(ap);
- }
+ va_start(ap, fmt);
+ vfprintf(stderr, fmt, ap);
+ va_end(ap);
+ }
+}
+
+void
+thunk_printf(const char *fmt, ...)
+{
+ va_list ap;
+
+ va_start(ap, fmt);
+ vfprintf(stderr, fmt, ap);
+ va_end(ap);
+ fflush(stderr);
}
static void
Index: src/sys/arch/usermode/usermode/trap.c
diff -u src/sys/arch/usermode/usermode/trap.c:1.50 src/sys/arch/usermode/usermode/trap.c:1.51
--- src/sys/arch/usermode/usermode/trap.c:1.50 Tue Jan 3 10:53:46 2012
+++ src/sys/arch/usermode/usermode/trap.c Tue Jan 3 12:05:00 2012
@@ -1,4 +1,4 @@
-/* $NetBSD: trap.c,v 1.50 2012/01/03 10:53:46 reinoud Exp $ */
+/* $NetBSD: trap.c,v 1.51 2012/01/03 12:05:00 reinoud Exp $ */
/*-
* Copyright (c) 2011 Reinoud Zandijk <[email protected]>
@@ -27,7 +27,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: trap.c,v 1.50 2012/01/03 10:53:46 reinoud Exp $");
+__KERNEL_RCSID(0, "$NetBSD: trap.c,v 1.51 2012/01/03 12:05:00 reinoud Exp $");
#include <sys/types.h>
#include <sys/param.h>
@@ -119,29 +119,29 @@ mem_access_handler(int sig, siginfo_t *i
//printf("sigsegv\n");
#if 0
va = (vaddr_t) info->si_addr;
- dprintf_debug("mem trap lwp = %p pid = %d lid = %d, va = %p\n",
+ thunk_printf_debug("mem trap lwp = %p pid = %d lid = %d, va = %p\n",
curlwp,
curlwp->l_proc->p_pid,
curlwp->l_lid,
(void *) va);
#endif
#if 0
- dprintf_debug("SIGSEGV or SIGBUS!\n");
- dprintf_debug("\tsi_signo = %d\n", info->si_signo);
- dprintf_debug("\tsi_errno = %d\n", info->si_errno);
- dprintf_debug("\tsi_code = %d\n", info->si_code);
+ thunk_printf_debug("SIGSEGV or SIGBUS!\n");
+ thunk_printf_debug("\tsi_signo = %d\n", info->si_signo);
+ thunk_printf_debug("\tsi_errno = %d\n", info->si_errno);
+ thunk_printf_debug("\tsi_code = %d\n", info->si_code);
if (info->si_code == SEGV_MAPERR)
- dprintf_debug("\t\tSEGV_MAPERR\n");
+ thunk_printf_debug("\t\tSEGV_MAPERR\n");
if (info->si_code == SEGV_ACCERR)
- dprintf_debug("\t\tSEGV_ACCERR\n");
+ thunk_printf_debug("\t\tSEGV_ACCERR\n");
if (info->si_code == BUS_ADRALN)
- dprintf_debug("\t\tBUS_ADRALN\n");
+ thunk_printf_debug("\t\tBUS_ADRALN\n");
if (info->si_code == BUS_ADRERR)
- dprintf_debug("\t\tBUS_ADRERR\n");
+ thunk_printf_debug("\t\tBUS_ADRERR\n");
if (info->si_code == BUS_OBJERR)
- dprintf_debug("\t\tBUS_OBJERR\n");
- dprintf_debug("\tsi_addr = %p\n", info->si_addr);
- dprintf_debug("\tsi_trap = %d\n", info->si_trap);
+ thunk_printf_debug("\t\tBUS_OBJERR\n");
+ thunk_printf_debug("\tsi_addr = %p\n", info->si_addr);
+ thunk_printf_debug("\tsi_trap = %d\n", info->si_trap);
#endif
l = curlwp;
@@ -282,13 +282,13 @@ pagefault(void)
if (from_kernel && (va >= VM_MIN_KERNEL_ADDRESS))
vm_map = kernel_map;
- dprintf_debug("pagefault : pc %p, va %p\n", (void *) pc, (void *) va);
+ thunk_printf_debug("pagefault : pc %p, va %p\n", (void *) pc, (void *) va);
/* can pmap handle it? on its own? (r/m) */
onfault = pcb->pcb_onfault;
rv = 0;
if (!pmap_fault(vm_map->pmap, va, &atype)) {
- dprintf_debug("pmap fault couldn't handle it! : "
+ thunk_printf_debug("pmap fault couldn't handle it! : "
"derived atype %d\n", atype);
/* extra debug for now */
@@ -301,7 +301,7 @@ pagefault(void)
}
if (rv) {
- dprintf_debug("uvm_fault returned error %d\n", rv);
+ thunk_printf_debug("uvm_fault returned error %d\n", rv);
/* something got wrong */
if (from_kernel) {