Source-Changes-D archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

re: CVS commit: src/sys/arch



> For kernel core dumps, at the present time, no; this needs thinking, and
> testing:
> - kvm(3) API will have to move from using 'unsigned long' to 'paddr_t'. I
> am currently checking that for all architectures except i386,
> sizeof(paddr_t) == sizeof(u_long).

sparc and 32 bit sparc64 kernels use 64 bit paddr_t.  there are some
mips ports that do too.  you can't assume the above equality at all,
not since "paddr_t" was introduced a decade+ ago.

> - i386 will use 64 bits paddr_t for kvm(3), so we will have to discuss on
> how to make it work without too much fuzz with pre-64 bits i386 dumps.

i think this seems the sanest way.  make userland see the 64 bit
definition in all cases, and have the libkvm code DTRT.

> - sparse dumps for memory above 4GB.
> 
> Eventually, PAE and !PAE kernels core files should be handled by kvm, if
> that's what you are asking.

right.  i was suggesting that if you simply used nlist(3) to find out the
value of "i386_use_pae" then the same code will work for live debugging
as well as core dumps.

since core file debugging basically requires this method, and it works
just as well for live debugging, the sysctl seems like something we don't
need to do.


.mrg.


Home | Main Index | Thread Index | Old Index