Commit Graph

39454 Commits

Author SHA1 Message Date
pk
073e24cd1b Set up register bank sharing bwteen psycho A & B based on matching
physical addresses.  Allocate IOMMU state separately and refer to it
from both psycho_softc's.
2000-07-18 11:35:03 +00:00
soda
52e3dc4e56 use I386_PCI_INTERRUPT_LINE_NO_CONNECTION instead of magic number. 2000-07-18 11:24:09 +00:00
soda
663add1b20 use PCI_INTERRUPT_PIN_MAX and I386_PCI_INTERRUPT_LINE_NO_CONNECTION,
instead of magic number
2000-07-18 11:23:28 +00:00
soda
81858d7c01 - Use PCIBIOS_PRINTV().
- Use PCI_INTERRUPT_PIN_MAX and I386_PCI_INTERRUPT_LINE_NO_CONNECTION
   instead of magic number.

the Following changes are
{Modified with,Approved by} UCHIYAMA Yasushi <uch@netbsd.org>:

 - Do not touch a PIRQ router, if the PIRQ is already routed
   by the BIOS, or no appropriate IRQ is found for the PIRQ.
   The latter prevents a panic on the machine of Frank van der Linden.

 - Do not modify a PCI Interrupt Configuration register,
   if it is already set by the BIOS, even if it is inconsistent
   with the PCI IRQ routing table provided by the BIOS.
   (The PCI Interrupt Configuration register seems to be more reliable
    than the PCI IRQ routing table.)
   This is needed to prevent a incorrect header_fixup() caused
   by the incorrect PIR table on a Panasonic Let's Note AL-N2T516J5.

   Provide "options PCIBIOS_INTR_FIXUP_FORCE" to retain
   previous behavior, i.e. believe the PCI IRQ routing table
   and ignore the PCI Interrupt Configuration register.
   Although I'm not sure this is really needed.

 - Do not modify a PCI Interrupt Configuration register,
   if appropriate IRQ is not found for the link.

 - Move a pciintr_icu_getclink() call and a pciintr_icu_get_intr()
   call from pciintr_link_fixup() to pciintr_link_alloc(),
   and only allocate pciintr_link_map if those calls succeeded.
   This reduces number of calls of pciintr_icu_getclink(),
   and also avoid necessity to validate a clink value in
   ICU's {get,set}_{intr,trigger}() functions.
   The sanity checks are not removed yet, though.

 - Fix uninitialized usage of variable `bitmap' on stage 3
   of pciintr_link_fixup().

 - Remove a member variable `old_irq' from struct pciintr_link_map.

 - Always use 0x%02x for printf format of canonical link value.

 - Use DIAGNOSTIC instead of PCIINTR_DEBUG for really weird situation.
2000-07-18 11:22:36 +00:00
soda
b01ab37ef6 use PCIBIOS_PRINTV() defined in pcibios.h, instead of homegrown DPRINTF(). 2000-07-18 11:18:04 +00:00
soda
698b2b1173 - define pcibiosverbose here, instead of each C source.
- use PIR_DEVFUNC_{DEVICE,FUNCTION}.
2000-07-18 11:15:25 +00:00
soda
0e8343265b - define PCIBIOS_PRINTV() as pcibiosverbose printf() here,
instead of DPRINTF() in each C source.
 - define PIR_DEVFUNC_{DEVICE,FUNCTION}
2000-07-18 11:14:06 +00:00
soda
2f9cb9c128 add several debug printf which can be enabled by PIIX_DEBUG. 2000-07-18 11:10:22 +00:00
soda
9a7e0d82ac - deal with FIRESTAR_PIR_SELECT_PIRQ case on set/get_trigger(),
to prevent a panic on a Panasonic Let's Note AL-N2T516J5.
 - add several debug printf which can be enabled by FIRESTARDEBUG.
 by UCHIYAMA Yasushi <uch@netbsd.org>

 - use I386_PCI_INTERRUPT_LINE_NO_CONNECTION instead of magic number.
2000-07-18 11:07:20 +00:00
soda
b8a6bd6e11 add "#define I386_PCI_INTERRUPT_LINE_NO_CONNECTION 0xff" 2000-07-18 11:00:35 +00:00
soda
c41ca10d33 add "#define PCI_INTERRUPT_PIN_MAX 0x04" 2000-07-18 10:59:04 +00:00
jeffs
f7dacc7a8e Use spl*_noprof routines to raise and lower spl for kernel profiling.
This keeps the SR management more contained in locore, and should
be roughly the same performance as the .text size is less.  Talked
to simonb and he was ok with this change.
2000-07-18 06:25:32 +00:00
thorpej
693ff4c94d PAGE_SIZE -> IOASIC_DMA_BLOCKSIZE in one last place. From Izumi Tsutsui. 2000-07-18 06:14:05 +00:00
thorpej
b91d520dc9 Back out previous. It is no longer needed, as both the Alpha
and DECstation IOASIC drivers clear the appropriate interrupts
in the dispatch routine.
2000-07-18 06:12:33 +00:00
thorpej
ea0cb4c30e Clear the ISDN TXPTR/RXPTR/OVRN interrupt bits here. Based on
a suggestion by Gregory McGarry.
2000-07-18 06:10:06 +00:00
mrg
faaa100d6e #if 0 some dumpsys() debugging messages 2000-07-18 05:18:35 +00:00
mrg
d2626038cd kill dead files. 2000-07-18 04:21:17 +00:00
mrg
040268c10e s/auxreg/auxio/ 2000-07-18 04:17:23 +00:00
enami
84606936fb Fix an obvious typo in comment introduced by previous commit; the instruction
now compares a0 against a1 + a2, not a0 + a2.
2000-07-18 01:20:24 +00:00
jeffs
8e5b35a55a Fix FP exception handling that was recently broken and would not
run src/regress cleanly.  Need to save and restore the frame pointer
for fpemul_sig*().
2000-07-18 00:41:18 +00:00
jeffs
5961b67774 if MIPS3_ENABLE_CLOCK_INTR is defined, set MIPS3_[HARD_]INT_MASK
appropriately.  This supports ports that use the internal clock.
Add 2 diag register defines that are specific to QED processors.
2000-07-17 23:35:13 +00:00
jeffs
0e0c4d24e8 Move platform db_trap callback from arch/mips into ddb as suggested by
jhawk.  This callback is used by platform code to manage things like
watchdogs that should be disabled while in ddb.  Done as a callback
for processors such as mips that support lots of different systems.
2000-07-17 19:57:49 +00:00
pk
1d1b0968f1 IF we're changing hz, change tick accordingly too. 2000-07-17 18:32:25 +00:00
tron
5446d3c92e Don't make assumptions of the actual value of PCI_PMCSR_STATE_D0.
Problem noted by John Hawkinson.
2000-07-17 18:12:00 +00:00
tron
cfae3184d8 Don't clobber bits from 2 to 31 when trying to change the power state.
Problem noted by John Hawkinson.
2000-07-17 17:53:44 +00:00
thorpej
5e275d7012 Clear the DMA pointer reload interrupt bits in the IOASIC_INTR
register to prevent interrups from looping on the Alpha.

From Izumi Tsutsui <tsutsui@ceres.dti.ne.jp>.
2000-07-17 17:43:16 +00:00
pk
ec726f07ca Kill typos in interrupt code. 2000-07-17 17:06:00 +00:00
wrstuden
0eb897823b There is no music device - g.c. its cdev_decl. 2000-07-17 16:57:19 +00:00
minoura
71ccd6200d Add (but commented) COMPAT_PECOFF entry. 2000-07-17 14:37:53 +00:00
pk
966115ff9e probeget: do the same song and dance as ld*a() macros in ctlreg.h do. 2000-07-17 14:08:43 +00:00
augustss
3aacf9101a Regen. 2000-07-17 13:07:21 +00:00
augustss
82b491eecc Some more products (from FreeBSD). 2000-07-17 13:06:54 +00:00
jeffs
efabca31b5 Make memcpy() the favored interface an swizzle the args for ovbcopy. Also
move bcopy XLEAF here from locore.S.  For 64b clean compilation add a
ld/sd section to the block copy.
2000-07-17 07:37:50 +00:00
jeffs
2fd0d88f44 Use <uvm/uvm_extern.h> instead of vm/vm.h 2000-07-17 07:06:13 +00:00
jeffs
116a6f8233 Pull in geocast mips ddb improvements and start bringing in kgdb support.
Add ddb support for QED opcodes, fill in enough routines so "next" usually
works, kdbpoke support for any size.  Add callback that ports can hook when
entering and leaving ddb.  This can be used for things like turning
off watchdogs while in ddb.
2000-07-17 07:04:19 +00:00
scottr
fc1ba82306 Make this compile again: restore missing prototype. 2000-07-17 06:53:42 +00:00
scottr
d63c5d05ce Catch up with d_mmap parameter change. From Steve Peurifoy via PR #10603. 2000-07-17 06:52:31 +00:00
scottr
b4f5693f98 Repair format type mismatch in DEBUG code. From Steve Peurifoy via PR #10603. 2000-07-17 06:51:18 +00:00
scottr
196f358a96 Correct return type of grfaddr(). From Steve Peurifoy via PR #10603. 2000-07-17 06:50:32 +00:00
thorpej
5edc9ef4a4 When computing the segment size, consider the maximum segment
size in the DMA map.
2000-07-17 04:47:56 +00:00
thorpej
8746b7c870 - Write the registers 7930 registers properly on the Alpha (it's
different than on the DECstation).
- Use IOASIC_DMA_BLOCKSIZE instead of PAGE_SIZE.

Should make this work on the Alpha.  From discussion with
Izumi Tsutsui, Gregory McGarry, and Chris Demetriou, and
much reading of EK-D3SYS-PM.
2000-07-17 04:37:27 +00:00
enami
9496825ae2 Define an auto variable ``cp'', which is used to scan the global variable
``version'', as const char * instead of char * to prevent compiler warning.
2000-07-17 04:04:02 +00:00
matt
f96915efa5 Changes so that the kernel can be compiled under __ELF__. 2000-07-17 02:54:04 +00:00
matt
5d9fda1ecd switch size_t, ptrdiff_t, & ssize_t to long int (signed or unsigned) for
__ELF__.
2000-07-17 02:52:24 +00:00
thorpej
887bebaa71 Define IOASIC_DMA_BLOCKSIZE (4096 bytes). 2000-07-17 02:18:17 +00:00
thorpej
8623daff6d G/c some unused (and incorrect, for our usage) definitions. 2000-07-17 02:17:13 +00:00
thorpej
95f72dd4aa Use the IOASIC_DMA_ADDR() macro now that it is fixed. 2000-07-17 01:29:02 +00:00
thorpej
cd6fa19644 Make sure to get the upper 5 bits of the page address mixed in
in IOASIC_DMA_ADDR(), as the le_ioasic attachment does.  Noted
by Gregory McGarry.
2000-07-17 01:28:16 +00:00
jdolecek
77c0fe57cf convert to use version template and newvers_stand.sh script for generating
bootblock revision strings, use bootbock_name[] (i.e. "NetBSD/sun3")
	in initial bootblock messages instead of just "NetBSD"

while here, do sligh Makefile cleanup to share more code between them and also
	to make buildable on NetBSD 1.4.1 (my test compile system)
get rid of the XX define hack for netboot & ufsboot, build xxboot.c as
	part of libsa - previos main() was renamed to xxboot_main(), main()
	is now in respective conf.c files and calls xxboot_main() with
	appropriate name of boot block type

XXX I had no chance to actually test the resulting bootblocks, but the
changes were fairly streightforward and should no influence functionality of
boot code
2000-07-16 21:56:12 +00:00
fvdl
57e3691758 Don't wait for B_READ buffers to finish in vfs_shutdown, it makes no sense
to do so.

From Ethan Solomita.
2000-07-16 21:07:24 +00:00