Bug 13382

Summary: Only 1 parallel port supported if pps enabled
Product: Base System Reporter: Peter Jeremy <jeremyp>
Component: kernAssignee: freebsd-bugs (Nobody) <bugs>
Status: Closed FIXED    
Severity: Affects Only Me    
Priority: Normal    
Version: 3.2-RELEASE   
Hardware: Any   
OS: Any   
Attachments:
Description Flags
file.diff none

Description Peter Jeremy 1999-08-25 22:50:02 UTC
	When multiple parallel ports (ppc) are enabled in a kernel,
	and device pps is enabled, the kernel panics `page not
	present' trying to dereference *softc[npps] in ppsprobe().

	This is because only 1 PPS device is configured (pps.c
	dimensions softc to NPPS, which config sets to 1 because it
	only sees pps0), but it will be proved for each ppc
	configured.  The other ppbus devices are kludged to support
	8 ppc devices.

	(And as a side issue, it would be nide to be able to tie
	the ppbus devices to specific ppc devices - eg you're
	unlikely to actually have more than one vpo or pps, and
	they're likely to be fixed on different ports, which
	are unlikely to be used for eg lpt or plip).

Fix: The following patch brings pps.c into line with the other
	ppbus devices.
How-To-Repeat: 
	Create a kernel config file including the following.  Compile,
	install and reboot.  

device		ppc0	at isa? port "IO_LPT1" tty irq 7
device		ppc1	at isa? port "IO_LPT2" tty irq 5
device		ppc2	at isa? port 0x26c tty irq 12
device		ppc3	at isa? port 0x268 tty irq 15

controller	ppbus0
device		lpt0	at ppbus?
device		plip0	at ppbus?
device		ppi0	at ppbus?
device		pps0	at ppbus?
Comment 1 Poul-Henning Kamp freebsd_committer freebsd_triage 2001-05-29 18:52:51 UTC
State Changed
From-To: open->closed

fixed in the meantime.