10-26-2011
The kernel is what starts and stops processes on breakpoints, watches memory, etc. on command -- gdb just tells the kernel what to do. Without a kernel to facilitate them, these features are not available.
gdb or any other process gets halted by the kernel when making a system call anyway. It doesn't "step in" because there's nothing to step in to; it's not a function call, it calls INT 0x20 (I think) and suspends itself until the system call is done. Once the system call is done, it starts again.
The traditional way to debug the kernel is lots of debugging spew, preferably directly to an external device so it doesn't get lost on crash.
To get that level of debugging on the kernel itself, you would need some sort of virtual machine, I think.
5 More Discussions You Might Find Interesting
1. Solaris
I've been researching minimizeing Solaris 8 and found that on the web page http://www.sun.com/bigadmin/content/packagelist/s8u7PkgList/p2.html the package SUNWglmr
is listed as "rasctrl environment monitoring driver for i2c, (Root) (32-bit)" while in the document "Solaris 8 minimize-updt1.pdf"... (1 Reply)
Discussion started by: roygoodwin
1 Replies
2. Programming
HI,
I am writing a network device driver for RTL8139c card on 2.6.18 kernel ... I am facing few queries listed below
1. Can i able to at all write a driver for RTL8139C or Realtek had designed new chip for 2.6 series kernel?
2. If no then which driver file 2.6.18 uses .. Is it 8139too.c or... (1 Reply)
Discussion started by: niketan
1 Replies
3. UNIX for Advanced & Expert Users
Hi All,
I have a device driver that uses UARTserial port to write/read to-from a device.
That device driver is working fine on FC3 machine( kernel version 2.6.12)...
Now I am switching to FC9 (kernel version 2.6.25.11-97).I have changed the interrupt flag SA_INTERRUPT to IRQF_DISABLED... (0 Replies)
Discussion started by: rajuprade
0 Replies
4. Programming
Hi All,
I have a device driver that uses UARTserial port to write/read to-from a device.
That device driver is working fine on FC3 machine( kernel version 2.6.12)...
Now I am switching to FC9 (kernel version 2.6.25.11-97).I have changed the interrupt flag SA_INTERRUPT to IRQF_DISABLED... (0 Replies)
Discussion started by: rajuprade
0 Replies
5. What is on Your Mind?
I want to work one day as a device driver programmer, OS I'm in love is Solaris :D
I am learning C in my free time which I don't have because college took my life and I need to study to pass.
In college we work in C++ / Java. These languages aren't inteded for device driver programming , saying... (0 Replies)
Discussion started by: solaris_user
0 Replies
EN(4) BSD Kernel Interfaces Manual EN(4)
NAME
en -- device driver for Midway-based ATM interfaces
SYNOPSIS
To compile this driver into the kernel, place the following lines in your kernel configuration file:
device en
device atm
device utopia
Alternatively, to load the driver as a module at boot time, place the following line in loader.conf(5):
if_en_load="YES"
DESCRIPTION
The en device driver supports Midway-based ATM interfaces including the Efficient Networks, Inc. ENI-155 and Adaptec ANA-59x0. Midway is an
AAL5 SAR (Segmentation and Reassembly) chip.
For configuring the card for IP see natmip(4).
The following sysctls are recognized by the driver additionally to those handled by utopia(4):
hw.atm.enX.istats
Contains an array of uint32_t with internal driver statistics.
hw.atm.enX.debug
This is a bit map of debugging options. This variable is only available when the driver is compiled with debugging support.
The driver supports the media options sdh, noscramb and unassigned (see utopia(4)).
DIAGNOSTICS
en0 <Efficient Networks ENI-155p> rev 0 int a irq 5 on pci0:16
en0: ATM midway v0, board IDs 6.0, Utopia (pipelined), 512KB on-board RAM
en0: maximum DMA burst length = 64 bytes
en0: 7 32KB receive buffers, 8 32KB transmit buffers allocated
CAVEATS
The driver extensively uses DMA on PCI. The first generation PCI chipsets do not work or exhibit poor performance.
SEE ALSO
natm(4), natmip(4), utopia(4), ifconfig(8), route(8)
AUTHORS
Chuck Cranor of Washington University implemented en driver in 1996 for NetBSD.
BSD
July 16, 2005 BSD