On Sunday, March 31, 2013 20:10 CEST, "Sebastian Reitenbach" <sebas...@l00-bugdead-prods.de> wrote: > Hi, > > following man kgdb, > I tested the cable on the first serial port (on the notebook) with the > system console using cu -l /dev/tty05 -s 9600. > And it works just fine. > > I built a sparc Kernel with KGDB enabled: > option KGDB # support for kernel gdb > option KGDBDEV=0xc01 # kgdb device number (dev_t) > option KGDBRATE=9600 # baud rate > makeoptions DEBUG="-g" > > and in config/GENERIC I have DDB disabled: > > #option DDB # in-kernel debugger > #option DDB_SAFE_CONSOLE # allow break into ddb during boot > > The kernel built fine so far, I run it on the target system, which > is a Tadpole SPARCbook, see the dmesg. > > For the remote gdb, I connected the serial cable to the > second serial port of the notebook. > > then in gdb on my debugging host I run: > # gdb /home/sebastia/bsd.gdb > ... > (gdb) set remotebaud 9600 > > > When the notebook is booting the system, then I run in gdb: > (gdb) target remote /dev/tty05 > > > And see on the console of the notebook: > zstty1: kgdb interrupt > kgdb waiting... > > and in gdb I see: > (gdb) target remote /dev/cua05 > Remote debugging using /dev/cua05 > Ignoring packet error, continuing... > Ignoring packet error, continuing... > Ignoring packet error, continuing... > Couldn't establish connection to remote target > Malformed response to offset query, timeout > (gdb) > > And then, that's it. The notebook doesn't seem to > react on any keyboard input anymore, but gdb also > doesn't seem to be able to connect to it via the > serial line. > > The system running gdb is a i386. > > For kgdb to work, do I need to connect from a > machine of the same architecture?
Meanwhile I installed egdb on the i386, just to see if it makes a difference, but it doesn't. While at the topic, I installed KGDB kernel on amd64 notebook. Starting gdb on the i386 with the amd64 kernel I get: This GDB was configured as "i386-unknown-openbsd5.2"..."/home/sebastia/bsd.amd64": not in executable format: File format not recognized (egdb from ports tells me the same) However, I can set the "target remote ...", and it breaks into the system. But with the sparc kernel, I don't have that problem. Copying over the kernel to my amd64 desktop. Starting up gdb from there, I don't get the warning about the executable format. Also connecting with gdb to the remote system works. # file /home/sebastia/bsd.* /home/sebastia/bsd.amd64: ELF 64-bit LSB executable, x86-64, version 1, statically linked, not stripped /home/sebastia/bsd.gdb: ELF 32-bit MSB executable, SPARC, version 1, statically linked, not stripped To make the story short: between two amd64 boxen, KGDB works as expected i386 to amd64: gdb doesn't recognize the kernel file format but connects to the remote target i386 to sparc: gdb recognizes the file format, but doesn't break into the remote target Can it be that there is a 32/64 bit dependency on gdb, what types of kernels it can read? > > I tried from my SS5, connected the serial cable > to its second serial port, but I wasn't even able > to get a serial console. > # cu -l /dev/tty01 -s 9600 > > cu: open("/dev/tty01"): Device not configured > Also tried cua01. I don't know which would be the right device. got an answer off list, that the right device for the second tty would be /dev/ttyb Still need to investigate here. Sebastian > > any hint what I may be doing wrong? > The kernel on the Notebook is a bit modified, since > I'm trying to port the dbri audio driver from NetBSD. > > Sebastian > > > From the notebook: > $ cat /tmp/dmesg.kgdb > > OpenBSD 5.3-current (GENERIC.kgdb) #0: Sun Mar 31 17:57:23 CEST 2013 > sebastia@warbird.ds9:/usr/src/sys/arch/sparc/compile/GENERIC.kgdb > real mem = 66732032 (63MB) > avail mem = 61648896 (58MB) > mainbus0 at root: Tadpole_S3GX > cpu0 at mainbus0: MB86904 @ 110 MHz, on-chip FPU > cpu0: 16K instruction (32 b/l), 8K data (16 b/l) cache enabled > obio0 at mainbus0 > clock0 at obio0 addr 0x71202000: mk48t08 (eeprom) > timer0 at obio0 addr 0x71d00000: delay constant 52, frequency 2000000 Hz > zs0 at obio0 addr 0x71100000 pri 12, softpri 6 > zstty0 at zs0 channel 0 > zstty1 at zs0 channel 1 (kgdb) > zs1 at obio0 addr 0x71000000 pri 12, softpri 6 > zskbd0 at zs1 channel 0: keyboard, type 5, layout 0x21 > wskbd0 at zskbd0: console keyboard > zsms0 at zs1 channel 1 > wsmouse0 at zsms0 mux 0 > slavioconfig at obio0 addr 0x71800000 not configured > auxreg0 at obio0 addr 0x71900000 > auxreg1 at obio0 addr 0x71910000 > tctrl0 at obio0 addr 0x42000020 pri 11 > tctrl0: main power available > clk-ctrl at obio0 addr 0x713c0000 not configured > com0 at obio0 addr 0x713a0000 pri 13: ns16550a, 16 byte fifo > com0: probed fifo depth: 0 bytes > iommu0 at mainbus0 addr 0x10000000: version 0x4/0x0, page-size 4096, range > 64MB > sbus0 at iommu0: 22 MHz > pnozz0 at sbus0 slot 0 offset 0x8000000 pri 2: rev 4, 800x600 > wsdisplay0 at pnozz0 mux 1: console (std, sun emulation), using wskbd0 > dma0 at sbus0 slot 4 offset 0x8400000: rev 2 > esp0 at dma0 offset 0x8800000 pri 4: ESP200, 40MHz > scsibus0 at esp0: 8 targets, initiator 7 > sd0 at scsibus0 targ 3 lun 0: <IBM, DPRS-21215 !, S61B> SCSI2 0/direct fixed > serial.IBM_DPRS-21215_!_7L4V6079_ > sd0: 1160MB, 512 bytes/sector, 2376864 sectors > bpp0 at sbus0 slot 4 offset 0xc800000: DMA2 > ledma0 at sbus0 slot 4 offset 0x8400010: rev 2 > le0 at ledma0 offset 0x8c00000 pri 6: address 00:00:83:ae:11:44 > le0: 16 receive buffers, 4 transmit buffers > tslot0 at sbus0 slot 1 offset 0x2000000 pri 11: 2 slots > pcmcia0 at tslot0 socket 0 > ep0 at pcmcia0 function 0 "3Com, 3C574-TX Fast EtherLink PC Card, A" port > 0x0/32: address 00:60:08:b3:f5:61 > tqphy0 at ep0 phy 0: 78Q2120 10/100 PHY, rev. 3 > pcmcia1 at tslot0 socket 1 > dbri0 at sbus0 slot 2 offset 0x40 pri 9 > vscsi0 at root > scsibus1 at vscsi0: 256 targets > softraid0 at root > scsibus2 at softraid0: 256 targets > bootpath: > /iommu@0,10000000/sbus@0,10001000/espdma@4,8400000/esp@4,8800000/sd@3,0 > root on sd0a (15849b035c6ca151.a) swap on sd0b dump on sd0b > WARNING: preposterous time in file system > WARNING: clock lost 10257 days -- CHECK AND RESET THE DATE! > > > from the SS5: > OpenBSD 5.3-current (GENERIC) #21: Sat Mar 23 17:23:36 MDT 2013 > dera...@sparc.openbsd.org:/usr/src/sys/arch/sparc/compile/GENERIC > real mem = 200933376 (191MB) > avail mem = 192954368 (184MB) > mainbus0 at root: SUNW,SPARCstation-5 > cpu0 at mainbus0: MB86907 @ 170 MHz, on-chip FPU > cpu0: 16K instruction (32 b/l), 16K data (32 b/l), 512K external (32 b/l) > DVMA coherent cache enabled > obio0 at mainbus0 > clock0 at obio0 addr 0x71200000: mk48t08 (eeprom) > timer0 at obio0 addr 0x71d00000: delay constant 82, frequency 2000000 Hz > zs0 at obio0 addr 0x71100000 pri 12, softpri 6 > zstty0 at zs0 channel 0: console > zstty1 at zs0 channel 1 > zs1 at obio0 addr 0x71000000 pri 12, softpri 6 > zskbd0 at zs1 channel 0: no keyboard > zsms0 at zs1 channel 1 > wsmouse0 at zsms0 mux 0 > slavioconfig at obio0 addr 0x71800000 not configured > auxreg0 at obio0 addr 0x71900000 > power0 at obio0 addr 0x71910000 > fdc0 at obio0 addr 0x71400000 pri 11, softpri 4: chip 82077 > iommu0 at mainbus0 addr 0x10000000: version 0x5/0x0, page-size 4096, range > 64MB > sbus0 at iommu0: 21.250 MHz > dma0 at sbus0 slot 5 offset 0x8400000: rev 2 > esp0 at dma0 offset 0x8800000 pri 4: ESP200, 40MHz > scsibus0 at esp0: 8 targets, initiator 7 > cd0 at scsibus0 targ 2 lun 0: <MATSHITA, CD-ROM CR-504, ST23> SCSI2 5/cdrom > removable > sd0 at scsibus0 targ 3 lun 0: <IBM, DCAS32160SUN2.1G, S60B> SCSI2 0/direct > fixed serial.IBM_DCAS32160SUN2.1GF2583160_ > sd0: 2063MB, 512 bytes/sector, 4226725 sectors > bpp0 at sbus0 slot 5 offset 0xc800000: DMA2 > ledma0 at sbus0 slot 5 offset 0x8400010: rev 2 > le0 at ledma0 offset 0x8c00000 pri 6: address 08:00:20:89:d9:b5 > le0: 16 receive buffers, 4 transmit buffers > audiocs0 at sbus0 slot 4 offset 0xc000000 pri 9 > audio0 at audiocs0 > "power-management" at sbus0 slot 4 offset 0xa000000 not configured > cgsix0 at sbus0 slot 3 offset 0x0 pri 9: SUNW,501-2325, 1152x900, rev 11 > wsdisplay0 at cgsix0 mux 1 > wsdisplay0: screen 0 added (std, sun emulation) > vscsi0 at root > scsibus1 at vscsi0: 256 targets > softraid0 at root > scsibus2 at softraid0: 256 targets > bootpath: > /iommu@0,10000000/sbus@0,10001000/espdma@5,8400000/esp@5,8800000/sd@3,0 > root on sd0a (1096ee405a923d3e.a) swap on sd0b dump on sd0b