From owner-freebsd-mobile Tue Jul 16 10: 7:35 2002 Delivered-To: freebsd-mobile@freebsd.org Received: from mx1.FreeBSD.org (mx1.FreeBSD.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 7E7FB37B401 for ; Tue, 16 Jul 2002 10:07:29 -0700 (PDT) Received: from baboon.icir.org (adsl-67-114-143-202.dsl.sntc01.pacbell.net [67.114.143.202]) by mx1.FreeBSD.org (Postfix) with ESMTP id EAEB843E65 for ; Tue, 16 Jul 2002 10:07:25 -0700 (PDT) (envelope-from bkarp@baboon.icir.org) Received: from baboon.icir.org (localhost [127.0.0.1]) by baboon.icir.org (8.11.6/8.11.3) with ESMTP id g6GH7Pa15247; Tue, 16 Jul 2002 10:07:25 -0700 (PDT) (envelope-from bkarp@baboon.icir.org) Message-Id: <200207161707.g6GH7Pa15247@baboon.icir.org> From: Brad Karp To: mobile@freebsd.org Cc: bkarp@icsi.berkeley.edu Subject: Sony SRX87 gets no interrupts Date: Tue, 16 Jul 2002 10:07:25 -0700 Sender: owner-freebsd-mobile@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.org I've purchased a Sony SRX87 laptop, and am having little success getting it to boot FreeBSD-STABLE. The machine has no serial ports. I haven't yet painstakingly retyped the full console output of a boot. But with a friend, I've hacked around enough to have some idea of what's happening. In short, the problem appears to be that FreeBSD isn't successfully configuring the machine to generate clock interrupts of any kind! If I netboot with PXE (using a known-good 4.6-STABLE kernel and known-good netboot server), the laptop hangs hard in /sys/nfs/bootp_subr.c:bootpc_init() as follows: /* * Wait until arp entries can be handled. */ while (time_second == 0) tsleep(&time_second, PZERO + 8, "arpkludge", 10); This tsleep() never returns! That is, time_second *never* advances beyond zero. We added a printf() to clkintr() itself, and indeed, the routine is never called!! Messages indicate the kernel is using the standard 8254 timecounter. This hang in the boot process manifests itself after ad0 is successfully probed. This call to bootpc_init() is in cpu_rootconf(), which is invoked directly by the SYSINIT mechanism fairly late in the boot process (after all clock and device configuration, just before mounting root). I should add that if I boot 4.6-RELEASE from a Sony PC-Card CD-ROM drive (known to work on earlier Sony laptops with FreeBSD), that boot *also* hangs, though after the "mounting ufs:/dev/md0c" message. My hunch is that hang also occurs because the system isn't generating any clock interrupts...I can't imagine a running kernel gets far without them. Also: the kernel complains about not being able to route PCI interrupts during boot for several devices. I tried pretty much every combination of the hw.pcic and hw.ata options, I should add. Anyone (Warner? :-) ) seen anything like this on any laptop, or have experience with the SRX87 (or maybe the SRX77, which I believe is fairly similar)? The machine is quite sweet, and I'd hate to have to give up on it in favor of something bigger, heavier, and without integrated wi and fxp. I worry that ACPI may partially be the culprit. The Linux Sony laptop list suggests they had trouble routing interrupts correctly, and the answer had to do with invoking ACPI to do the interrupt routing for some PCI devices: http://returntonature.com/pipermail/linux-sony/2002-July/000881.html Any bets on whether it's worth trying CURRENT with ACPI enabled? Thanks! -Brad, bkarp@icsi.berkeley.edu To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-mobile" in the body of the message