vBulletin Search Engine Optimization
| |||||||
| Register | FAQ | Members List | Calendar | Search | Today's Posts | Mark Forums Read |
| ||||
| Recent changes to the MPI driver are now causing vmware to crash on boot, and the virtual shuts down. I haven't been able to get any debug information because the virtual instantly shuts down, and I'm not sure how to get it to just drop me to a ddb. However, I have found the exact changes to mpi.c and mpireg.h that make the difference between vmware booting properly and vmware crashing on boot. A working dmesg of current sources with last working mpi.c and mpireg.h versions follows, as well as a diff between the working mpi.c and mpireg.h and the crashing mpi.c and mpireg.h files. OpenBSD 3.9-current (GENERIC.RT) #6: Fri Jun 30 11:06:59 EDT 2006 jason@tweak.hcpnet.org:/usr/src/sys/...ile/GENERIC.RT cpu0: Intel(R) Pentium(R) 4 CPU 3.20GHz ("GenuineIntel" 686-class) 3.20 GHz cpu0: FPU,V86,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,P GE,MCA,CMOV,PAT,PSE36,CFLUSH,DS,ACPI,MMX,FXSR,SSE, SSE2,SS,HTT,SSE3,DS-CPL real mem = 267939840 (261660K) avail mem = 237871104 (232296K) using 3296 buffers containing 13500416 bytes (13184K) of memory mainbus0 (root) bios0 at mainbus0: AT/286+(6f) BIOS, date 04/21/04, BIOS32 rev. 0 @ 0xfd880, SMBIOS rev. 2.31 @ 0xe4010 (45 entries) bios0: VMware, Inc. VMware Virtual Platform apm0 at bios0: Power Management spec V1.2 apm0: AC on, battery charge unknown apm0: flags 30102 dobusy 0 doidle 1 pcibios0 at bios0: rev 2.1 @ 0xfd880/0x780 pcibios0: PCI IRQ Routing Table rev 1.0 @ 0xfdf30/176 (9 entries) pcibios0: PCI Interrupt Router at 000:07:0 ("Intel 82371FB ISA" rev 0x00) pcibios0: PCI bus #1 is the last bus bios0: ROM list: 0xc0000/0x8000 0xc8000/0x1a00! 0xca000/0x1000 0xdc000/0x4000! 0xe4000/0x4000! cpu0 at mainbus0 pci0 at mainbus0 bus 0: configuration mode 1 (no bios) pchb0 at pci0 dev 0 function 0 "Intel 82443BX AGP" rev 0x01 ppb0 at pci0 dev 1 function 0 "Intel 82443BX AGP" rev 0x01 pci1 at ppb0 bus 1 pcib0 at pci0 dev 7 function 0 "Intel 82371AB PIIX4 ISA" rev 0x08 pciide0 at pci0 dev 7 function 1 "Intel 82371AB IDE" rev 0x01: DMA, channel 0 configured to compatibility, channel 1 configured to compatibility pciide0: channel 0 ignored (disabled) atapiscsi0 at pciide0 channel 1 drive 0 scsibus0 at atapiscsi0: 2 targets cd0 at scsibus0 targ 0 lun 0: <NECVMWar, VMware IDE CDR10, 1.00> SCSI0 5/cdrom removable cd0(pciide0:1:0): using PIO mode 4, Ultra-DMA mode 2 piixpm0 at pci0 dev 7 function 3 "Intel 82371AB Power" rev 0x08: SMBus disabled vga1 at pci0 dev 15 function 0 "VMware Virtual SVGA II" rev 0x00 wsdisplay0 at vga1 mux 1: console (80x25, vt100 emulation) wsdisplay0: screen 1-5 added (80x25, vt100 emulation) mpi0 at pci0 dev 16 function 0 "Symbios Logic 53c1030" rev 0x01: irq 9 scsibus1 at mpi0: 16 targets sd0 at scsibus1 targ 0 lun 0: <VMware,, VMware Virtual S, 1.0> SCSI2 0/direct fixed sd0: 6144MB, 6144 cyl, 64 head, 32 sec, 512 bytes/sec, 12582912 sec total mpi0: target 0 Sync at 160MHz width 16bit offset 127 QAS 1 DT 1 IU 1 pcn0 at pci0 dev 17 function 0 "AMD 79c970 PCnet-PCI" rev 0x10, Am79c970A, rev 0: irq 10, address 00:0c:29:da:7a:ac isa0 at pcib0 isadma0 at isa0 pckbc0 at isa0 port 0x60/5 pckbd0 at pckbc0 (kbd slot) pckbc0: using irq 1 for kbd slot wskbd0 at pckbd0: console keyboard, using wsdisplay0 pmsi0 at pckbc0 (aux slot) pckbc0: using irq 12 for aux slot wsmouse0 at pmsi0 mux 0 pcppi0 at isa0 port 0x61 midi0 at pcppi0: <PC speaker> spkr0 at pcppi0 lpt0 at isa0 port 0x378/4 irq 7 npx0 at isa0 port 0xf0/16: using exception 16 pccom0 at isa0 port 0x3f8/8 irq 4: ns16550a, 16 byte fifo pccom1 at isa0 port 0x2f8/8 irq 3: ns16550a, 16 byte fifo fdc0 at isa0 port 0x3f0/6 irq 6 drq 2 fd0 at fdc0 drive 0: 1.44MB 80 cyl, 2 head, 18 sec biomask eb65 netmask ef65 ttymask ffe7 pctr: user-level cycle counter enabled mpi0: xs cmd: 0x1b len: 0 error: 0x01 flags 0x1a8 mpi0: target_id: 0 bus: 0 msg_length: 8 function: 0x00 mpi0: cdb_length: 6 sense_buf_length: 0 msg_flags: 0x00 mpi0: msg_context: 0x0000000f mpi0: scsi_status: 0x02 scsi_state: 0x01 ioc_status: 0x0000 mpi0: ioc_loginfo: 0x00000000 mpi0: transfer_count: 0 mpi0: sense_count: 18 mpi0: response_info: 0x00000000 mpi0: tag: 0x0000 mpi0: xs error: 0x01 xs status: 2 mpi0: xs cmd: 0x1a len: 255 error: 0x01 flags 0x828 mpi0: target_id: 0 bus: 0 msg_length: 8 function: 0x00 mpi0: cdb_length: 6 sense_buf_length: 0 msg_flags: 0x00 mpi0: msg_context: 0x00000013 mpi0: scsi_status: 0x02 scsi_state: 0x01 ioc_status: 0x0000 mpi0: ioc_loginfo: 0x00000000 mpi0: transfer_count: 0 mpi0: sense_count: 18 mpi0: response_info: 0x00000000 mpi0: tag: 0x0000 mpi0: xs error: 0x01 xs status: 2 mpi0: xs cmd: 0x5a len: 255 error: 0x01 flags 0x828 mpi0: target_id: 0 bus: 0 msg_length: 8 function: 0x00 mpi0: cdb_length: 10 sense_buf_length: 0 msg_flags: 0x00 mpi0: msg_context: 0x00000014 mpi0: scsi_status: 0x02 scsi_state: 0x01 ioc_status: 0x0000 mpi0: ioc_loginfo: 0x00000000 mpi0: transfer_count: 0 mpi0: sense_count: 18 mpi0: response_info: 0x00000000 mpi0: tag: 0x0000 mpi0: xs error: 0x01 xs status: 2 dkcsum: sd0 matches BIOS drive 0x80 root on sd0a mpi0: xs cmd: 0x1b len: 0 error: 0x01 flags 0x188 mpi0: target_id: 0 bus: 0 msg_length: 8 function: 0x00 mpi0: cdb_length: 6 sense_buf_length: 0 msg_flags: 0x00 mpi0: msg_context: 0x00000018 mpi0: scsi_status: 0x02 scsi_state: 0x01 ioc_status: 0x0000 mpi0: ioc_loginfo: 0x00000000 mpi0: transfer_count: 0 mpi0: sense_count: 18 mpi0: response_info: 0x00000000 mpi0: tag: 0x0000 mpi0: xs error: 0x01 xs status: 2 mpi0: xs cmd: 0x1a len: 255 error: 0x01 flags 0x828 mpi0: target_id: 0 bus: 0 msg_length: 8 function: 0x00 mpi0: cdb_length: 6 sense_buf_length: 0 msg_flags: 0x00 mpi0: msg_context: 0x0000001c mpi0: scsi_status: 0x02 scsi_state: 0x01 ioc_status: 0x0000 mpi0: ioc_loginfo: 0x00000000 mpi0: transfer_count: 0 mpi0: sense_count: 18 mpi0: response_info: 0x00000000 mpi0: tag: 0x0000 mpi0: xs error: 0x01 xs status: 2 mpi0: xs cmd: 0x5a len: 255 error: 0x01 flags 0x828 mpi0: target_id: 0 bus: 0 msg_length: 8 function: 0x00 mpi0: cdb_length: 10 sense_buf_length: 0 msg_flags: 0x00 mpi0: msg_context: 0x0000001d mpi0: scsi_status: 0x02 scsi_state: 0x01 ioc_status: 0x0000 mpi0: ioc_loginfo: 0x00000000 mpi0: transfer_count: 0 mpi0: sense_count: 18 mpi0: response_info: 0x00000000 mpi0: tag: 0x0000 mpi0: xs error: 0x01 xs status: 2 rootdev=0x400 rrootdev=0xd00 rawdev=0xd02 mpi0: xs cmd: 0x1b len: 0 error: 0x01 flags 0x1a8 mpi0: target_id: 0 bus: 0 msg_length: 8 function: 0x00 mpi0: cdb_length: 6 sense_buf_length: 0 msg_flags: 0x00 mpi0: msg_context: 0x00000020 mpi0: scsi_status: 0x02 scsi_state: 0x01 ioc_status: 0x0000 mpi0: ioc_loginfo: 0x00000000 mpi0: transfer_count: 0 mpi0: sense_count: 18 mpi0: response_info: 0x00000000 mpi0: tag: 0x0000 mpi0: xs error: 0x01 xs status: 2 mpi0: xs cmd: 0x1a len: 255 error: 0x01 flags 0x828 mpi0: target_id: 0 bus: 0 msg_length: 8 function: 0x00 mpi0: cdb_length: 6 sense_buf_length: 0 msg_flags: 0x00 mpi0: msg_context: 0x00000024 mpi0: scsi_status: 0x02 scsi_state: 0x01 ioc_status: 0x0000 mpi0: ioc_loginfo: 0x00000000 mpi0: transfer_count: 0 mpi0: sense_count: 18 mpi0: response_info: 0x00000000 mpi0: tag: 0x0000 mpi0: xs error: 0x01 xs status: 2 mpi0: xs cmd: 0x5a len: 255 error: 0x01 flags 0x828 mpi0: target_id: 0 bus: 0 msg_length: 8 function: 0x00 mpi0: cdb_length: 10 sense_buf_length: 0 msg_flags: 0x00 mpi0: msg_context: 0x00000025 mpi0: scsi_status: 0x02 scsi_state: 0x01 ioc_status: 0x0000 mpi0: ioc_loginfo: 0x00000000 mpi0: transfer_count: 0 mpi0: sense_count: 18 mpi0: response_info: 0x00000000 mpi0: tag: 0x0000 mpi0: xs error: 0x01 xs status: 2 mpi0: xs cmd: 0x1b len: 0 error: 0x01 flags 0x188 mpi0: target_id: 0 bus: 0 msg_length: 8 function: 0x00 mpi0: cdb_length: 6 sense_buf_length: 0 msg_flags: 0x00 mpi0: msg_context: 0x00000028 mpi0: scsi_status: 0x02 scsi_state: 0x01 ioc_status: 0x0000 mpi0: ioc_loginfo: 0x00000000 mpi0: transfer_count: 0 mpi0: sense_count: 18 mpi0: response_info: 0x00000000 mpi0: tag: 0x0000 mpi0: xs error: 0x01 xs status: 2 mpi0: xs cmd: 0x1a len: 255 error: 0x01 flags 0x828 mpi0: target_id: 0 bus: 0 msg_length: 8 function: 0x00 mpi0: cdb_length: 6 sense_buf_length: 0 msg_flags: 0x00 mpi0: msg_context: 0x0000002c mpi0: scsi_status: 0x02 scsi_state: 0x01 ioc_status: 0x0000 mpi0: ioc_loginfo: 0x00000000 mpi0: transfer_count: 0 mpi0: sense_count: 18 mpi0: response_info: 0x00000000 mpi0: tag: 0x0000 mpi0: xs error: 0x01 xs status: 2 mpi0: xs cmd: 0x5a len: 255 error: 0x01 flags 0x828 mpi0: target_id: 0 bus: 0 msg_length: 8 function: 0x00 mpi0: cdb_length: 10 sense_buf_length: 0 msg_flags: 0x00 mpi0: msg_context: 0x0000002d mpi0: scsi_status: 0x02 scsi_state: 0x01 ioc_status: 0x0000 mpi0: ioc_loginfo: 0x00000000 mpi0: transfer_count: 0 mpi0: sense_count: 18 mpi0: response_info: 0x00000000 mpi0: tag: 0x0000 mpi0: xs error: 0x01 xs status: 2 Index: mpi.c ================================================== ================= RCS file: /cvs/src/sys/dev/ic/mpi.c,v retrieving revision 1.48 retrieving revision 1.49 diff -u -r1.48 -r1.49 --- mpi.c 19 Jun 2006 21:06:22 -0000 1.48 +++ mpi.c 29 Jun 2006 08:35:08 -0000 1.49 @@ -1,4 +1,4 @@ -/* $OpenBSD: mpi.c,v 1.48 2006/06/19 21:06:22 miod Exp $ */ +/* $OpenBSD: mpi.c,v 1.49 2006/06/29 08:35:08 dlg Exp $ */ /* * Copyright (c) 2005, 2006 David Gwynne <dlg@openbsd.org> @@ -976,13 +976,13 @@ switch (xs->flags & (SCSI_DATA_IN | SCSI_DATA_OUT)) { case SCSI_DATA_IN: - io->control = htole32(MPI_SCSIIO_DATA_DIR_READ); + io->direction = MPI_SCSIIO_DIR_READ; break; case SCSI_DATA_OUT: - io->control = htole32(MPI_SCSIIO_DATA_DIR_WRITE); + io->direction = MPI_SCSIIO_DIR_WRITE; break; default: - io->control = htole32(MPI_SCSIIO_DATA_DIR_NONE); + io->direction = MPI_SCSIIO_DIR_NONE; break; } Index: mpireg.h ================================================== ================= RCS file: /cvs/src/sys/dev/ic/mpireg.h,v retrieving revision 1.18 retrieving revision 1.19 diff -u -r1.18 -r1.19 --- mpireg.h 29 Jun 2006 08:23:26 -0000 1.18 +++ mpireg.h 29 Jun 2006 08:35:08 -0000 1.19 @@ -1,4 +1,4 @@ -/* $OpenBSD: mpireg.h,v 1.18 2006/06/29 08:23:26 dlg Exp $ */ +/* $OpenBSD: mpireg.h,v 1.19 2006/06/29 08:35:08 dlg Exp $ */ /* * Copyright (c) 2005 David Gwynne <dlg@openbsd.org> @@ -619,7 +619,7 @@ u_int8_t cdb_length; u_int8_t sense_buf_len; - u_int8_t reserved; + u_int8_t reserved1; u_int8_t msg_flags; #define MPI_SCSIIO_EEDP 0xf0 #define MPI_SCSIIO_CMD_DATA_DIR (1<<2) @@ -632,19 +632,19 @@ u_int16_t lun[4]; - u_int32_t control; -#define MPI_SCSIIO_ADDITIONAL_CDB_LEN (0xf<<26) -#define MPI_SCSIIO_DATA_DIR (0x3<<24) -#define MPI_SCSIIO_DATA_DIR_NONE (0x0<<24) -#define MPI_SCSIIO_DATA_DIR_WRITE (0x1<<24) -#define MPI_SCSIIO_DATA_DIR_READ (0x2<<24) -#define MPI_SCSIIO_TASK_ATTR (0x7<<8) -#define MPI_SCSIIO_TASK_ATTR_SIMPLE_Q (0x0<<8) -#define MPI_SCSIIO_TASK_ATTR_HEAD_OF_Q (0x1<<8) -#define MPI_SCSIIO_TASK_ATTR_ORDERED_Q (0x2<<8) -#define MPI_SCSIIO_TASK_ATTR_ACA_Q (0x4<<8) -#define MPI_SCSIIO_TASK_ATTR_UNTAGGED (0x5<<8) -#define MPI_SCSIIO_TASK_ATTR_NO_DISCONNECT (0x7<<8) + u_int8_t reserved2; + u_int8_t tagging; +#define MPI_SCSIIO_ATTR_SIMPLE_Q (0x0) +#define MPI_SCSIIO_ATTR_HEAD_OF_Q (0x1) +#define MPI_SCSIIO_ATTR_ORDERED_Q (0x2) +#define MPI_SCSIIO_ATTR_ACA_Q (0x4) +#define MPI_SCSIIO_ATTR_UNTAGGED (0x5) +#define MPI_SCSIIO_ATTR_NO_DISCONNECT (0x7) + u_int8_t direction; +#define MPI_SCSIIO_DIR_NONE (0x0) +#define MPI_SCSIIO_DIR_WRITE (0x1) +#define MPI_SCSIIO_DIR_READ (0x2) + u_int8_t extra_cdb_len; #define MPI_CDB_LEN 16 u_int8_t cdb[MPI_CDB_LEN]; |