NetBSD-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Fix for kern/45160 breaks interrupts under Qemu



The following reply was made to PR port-i386/45160; it has been noted by GNATS.

From: steve%mctavish.co.uk@localhost
To: gnats-bugs%gnats.NetBSD.org@localhost
Cc: 
Subject: Fix for kern/45160 breaks interrupts under Qemu
Date: Fri, 14 Sep 2012 21:29:40 +0100 (BST)

 >Submitter-Id: net
 >Originator:   Steve Woodford
 >Organization:
 >Confidential: no
 >Synopsis:     Fix for kern/45160 breaks interrupts under Qemu
 >Severity:     serious
 >Priority:     medium
 >Category:     port-amd64
 >Class:                sw-bug
 >Release:      NetBSD 5.1_STABLE
 >Environment:
 System: NetBSD horace.mctavish.co.uk 5.1_STABLE NetBSD 5.1_STABLE (SCW_HORACE) 
#0: Mon Mar 7 08:02:28 GMT 2011 
steve%horace.mctavish.co.uk@localhost:/export/netbsd/local/netbsd/sys/arch/amd64/compile/SCW_HORACE
 amd64
 Architecture: x86_64
 Machine: amd64
 >Description:
 It is no longer possible to boot a kernel (from -current back to netbsd-5)
 under Qemu (and that includes Virtual Private Servers offered by various
 hosting companies) due to the change introduced by kern/45160.
 >How-To-Repeat:
 Boot any recent kernel (including NetBSD/amd64 5.1_STABLE) under Qemu.
 Observe the following when the system attempts to read the MBR of wd0:
 
 wd0 at atabus0 drive 0wdc0:0:0: lost interrupt
        type: ata tc_bcount: 512 tc_skip: 0
 : <QEMU HARDDISK>
 wd0: 51200 MB, 104025 cyl, 16 head, 63 sec, 512 bytes/sect x 104857600 sectors
 wdc0:0:0: lost interrupt
        type: ata tc_bcount: 512 tc_skip: 0
 wdc0:0:0: lost interrupt
 ...
 
 The above is repeated pretty much ad-nausea; the system fails to boot.
 >Fix:
 The naive fix is to delete the "i8259_setmask(0xffff);" call in
 ioapic_reenable() introduced in sys/arch/x86/x86/ioapic.c:1.46.
 
 This will obviously undo the fix for kern/45160, so someone more familiar
 with x86 interrupt controllers will have to determine the best course
 of action.
 


Home | Main Index | Thread Index | Old Index