kgdb unuseable with cores on current (for some people)

Benjamin Kaduk kaduk at MIT.EDU
Sat May 15 02:12:24 UTC 2010


On Fri, 14 May 2010, Benjamin Kaduk wrote:

> On Fri, 14 May 2010, Alan Cox wrote:
>
>> 
>> I suspect the following is needed:
>> 
>> Index: vm/vm_page.c
>> ===================================================================
>> --- vm/vm_page.c        (revision 207823)
>> +++ vm/vm_page.c        (working copy)
>> @@ -108,6 +108,7 @@ __FBSDID("$FreeBSD$");
>> #include <sys/kernel.h>
>> #include <sys/limits.h>
>> #include <sys/malloc.h>
>> +#include <sys/msgbuf.h>
>> #include <sys/mutex.h>
>> #include <sys/proc.h>
>> #include <sys/sysctl.h>
>> @@ -375,6 +376,14 @@ vm_page_startup(vm_offset_t vaddr)
>>            new_end + vm_page_dump_size, VM_PROT_READ | VM_PROT_WRITE);
>>        bzero((void *)vm_page_dump, vm_page_dump_size);
>> #endif
>> +#ifdef __amd64__
>> +       pa = DMAP_TO_PHYS((vm_offset_t)msgbufp);

If I change this to be msgbufp->msg_ptr, then all works as expected.

While tracking this down, I realized that passing the -q(uiet) argument to 
kgdb would have been a valid workaround all along.


Alan, could you please commit the modified patch?

Thanks,

Ben Kaduk


>> +       last_pa = pa + round_page(MSGBUF_SIZE);
>> +       while (pa < last_pa) {
>> +               dump_add_page(pa);
>> +               pa += PAGE_SIZE;
>> +       }
>> +#endif
>>        /*
>>         * Compute the number of pages of memory that will be available for
>>         * use (taking into account the overhead of a page structure per
>> 
>> 
> _______________________________________________
> freebsd-current at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-current
> To unsubscribe, send any mail to "freebsd-current-unsubscribe at freebsd.org"
>


More information about the freebsd-current mailing list