current@ people,

5.0-DP2-disc1.iso with my ASUS P2L97-DS ACPI BIOS Revision 1008 Dual cpu box
boots OK :-)  But 4.7-RELEASE & stable produce a boot panic with a kernel
where ATA + dual processor are both enabled.

Does that mean there is code in 5.0 that could be
retro-fitted to Stable, to help others with SMP + ATA ?
(I'm not asking for myself, I'll stay with current now installed :-)

Further notes for anyone interested:

4.7-RELEASE GENERIC boots OK in single cpu mode.
Stable boots in dual cpu mode with this patched out:
        #device          ata0    at isa? port IO_WD1 irq 14
        #device          ata1    at isa? port IO_WD2 irq 15
        #device          ata
        #device          atadisk                 # ATA disk drives
        #device          atapicd                 # ATAPI CDROM drives
        #device          atapifd                 # ATAPI floppy drives
        #device          atapist                 # ATAPI tape drives
        #options         ATA_STATIC_ID           #Static device numbering
& this added:
        options         DDB
        options         INCLUDE_CONFIG_FILE
        options         SMP                     # Symmetric MultiProcessor Kernel
        options         APIC_IO                 # Symmetric (APIC) I/O
        makeoptions     DEBUG=-g

Neither stable nor 4.7-RELEASE will support both ATA + SMP.

I added the patch below to my stable, which moved the boot panic
to occur a little later.  It shows the code in stable is broken,
as I see the "ata_pmode called with no pointer"

*** src/sys/dev/ata/ata-all.c.orig      Sat Nov  2 10:58:31 2002
--- src/sys/dev/ata/ata-all.c   Mon Nov 18 19:36:37 2002
***************
*** 1393,1398 ****
--- 1393,1417 ----
  int
  ata_pmode(struct ata_params *ap)
  {
+     if (ap == (struct ata_params *)0)
+       { /* jhs@'s dual cpu with DVD on IDE bus panics on boot, 
+               like this:
+       Stopped at ata_pmode+0x6: testb $0x2,0x6a(%eax)
+       db> trace
+       ata_pmode(0) at ata_pmode+0x6
+       atapi_attach
+       ata_boot_attach
+       run_interrupt_driven_config_hooks
+       mi_startup
+       begin
+        */
+       printf("ata: (jhs@) ata_pmode called with no pointer\n");
+       return -1;      /* no idea if -1 is correct - no man ata_pmode */
+       /* it now panics like this 
+               ata1-slave: timeout waiting for cmd=ef s=01 e=04
+               fatal trap 12: page fault while in kernel mode
+       */
+       }
      if (ap->atavalid & ATA_FLAG_64_70) {
        if (ap->apiomodes & 2)
            return 4;

PS I bought this machine at auction recently, I've reset the BIOS
to setup defaults, but not done a BIOS upgrade, got a bit bogged
down in Asus new site, suspect I might have to register myself there.

Julian Stacey
jhs @ berklix.com       Computer Systems Engineer & Unix Consultant, Munich.
   Ihr Rauchen = mein allergischer Kopfschmerz !  Schnupftabak probieren.

To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message

Reply via email to