Commit Graph

9544 Commits

Author SHA1 Message Date
jtc
9da5f60715 PROF -> GPROF 1996-11-30 02:48:57 +00:00
jtk
6f602476b2 tabstop corrections, thanks to Paul Kranenburg 1996-11-30 01:45:39 +00:00
is
86b68e0c38 The DraCo MF-II to Amiga translation table is const-ant. 1996-11-30 01:30:37 +00:00
is
ca9770feb9 Make sure autoconfiguration is searching for _us_. There is more than
one DraCo specific device on the DraCo mainbus.
1996-11-30 01:27:04 +00:00
is
e4b7d761cc Switch off some more interupts on startup; switch off drcom interupts
at the right offset.
1996-11-30 01:20:14 +00:00
is
aa13cab86c Forgotten changes needed for the drcom driver. 1996-11-30 01:13:05 +00:00
is
19acf65808 com.c variant for the 16550 core on the DraCo superio chip.
drisavar.h pretends to provide a few bus.h macros, hardwired to
that chip.

This should eventually be replaced by attachment code for the normal
com.c driver, once that one is split up into chip core driver and
attachment code, and once we have busxxx macros in NetBSD/Amiga.
1996-11-30 00:43:02 +00:00
is
ff0ad9cabb Variable spltty a la Jason Thorpe. Needed for the DraCo variant of com.c. 1996-11-30 00:33:49 +00:00
is
9035d87865 Support for DraCo superio chip: level 5 interupt queue; amiga_ttyspl
variable (we need to set ttyspl to spl5 when the DraCo serial is active).
1996-11-30 00:29:38 +00:00
is
165b6726c9 First version of a NetBSD-Amiga bootblock compilable from within NetBSD,
along with toolchain enhancements.

aout2bb transforms a.out files with reloc information into bootblock format
files with a compressed relocation info.

bbstart.s relocates the bootblock using this compressed info, before jumping
to C code.

txlt changes some more of the absolute references to pc-relative ones (we know
we have a single code + data address space).

If you ever try to change this: don't even dare to change the compiler options;
they were found in weeks of trial and error as the ones producing the smallest
(not necessarily fastests) code.

installboot is just a script around dd, for now.

Some ideas by Michael Hitch, Leo Weppelman and Jason Thorpe; bugs added
by myself.
1996-11-29 23:36:30 +00:00
is
6ddf65c1db First version of a NetBSD-Amiga bootblock compilable from within NetBSD,
along with toolchain enhancements.

aout2bb transforms a.out files with reloc information into bootblock format
files with a compressed relocation info.

bbstart.s relocates the bootblock using this compressed info, before jumping
to C code.

txlt changes some more of the absolute references to pc-relative ones (we know
we have a single code + data address space).

If you ever try to change this: don't even dare to change the compiler options;
they were found in weeks of trial and error as the ones producing the smallest
(not necessarily fastests) code.

installboot is just a script around dd, for now.

Some ideas by Michael Hitch, Leo Weppelman and Jason Thorpe; bugs added
by myself.
1996-11-29 23:36:29 +00:00
jtk
88449561be Add floppy formatting facility.
i386 floppy controller code came from FreeBSD, as worked on by:
   jc@irbs.UUCP (John Capo)
   vak@zebub.msk.su (Serge Vakulenko)
   ache@astral.msk.su (Andrew A. Chernov)
   joerg_wunsch@uriah.sax.de (Joerg Wunsch)
   dufault@hda.com (Peter Dufault)

formatting ioctl interface is generalized to an MI interface.  see fdc(4)
and fdformat(1)
1996-11-29 16:28:38 +00:00
pk
c5c074b053 remove header munging hack. 1996-11-29 15:00:25 +00:00
pk
48830f7cb1 ffs bootblock install can be simplified since installboot(8) handles that now.
To install a TFTPable boot image, we have to play the header tricks here.
1996-11-29 14:59:32 +00:00
pk
af0ec0d1d4 installboot(8) now handles required a.out header munging.
Also, the munging is extended by inserting an instruction that branches
past the header, so the same boot image can be used on all supported
sun platforms.
1996-11-29 14:55:20 +00:00
pk
b2f875fce9 Handle Sbus burst settings in dma reset(). 1996-11-28 10:30:34 +00:00
pk
7e3ef21ca4 Fix typo in D_BURST* macros. 1996-11-28 09:37:34 +00:00
thorpej
23587e9e17 Update for pchb and pcib drivers. 1996-11-28 03:15:13 +00:00
thorpej
35a40fda4b Implement a simple generic PCI-ISA bridge driver. This driver exists
primarily to nicely print version information about your PCI chipset
(try with "options PCIVERBOSE").  Eventually, it may be used to
enable/disable features/bugs of a given PCI chipset.  In addition, this
driver uses the PCI-ISA bridge callback mechanism to logically attach the
ISA bus to the PCI-ISA bridge.
1996-11-28 02:53:45 +00:00
thorpej
30612943e3 Implement a simple generic PCI-Host bridge driver. At the moment, this
driver is a place-holder, which will nicely print version information
about your PCI chipset (try with "options PCIVERBOSE").  Eventually,
this can be used to enable/disable features/bugs of individual PCI
chipsets.
1996-11-28 02:49:01 +00:00
thorpej
9a6796b559 In isa_attach_hook(), set a variable to indicate that an ISA bus has
been attached to the system.  If, by the time mainbus wants to attach
an ISA an ISA has not yet been attached to the system, attempt to attach
an ISA to mainbus.
1996-11-28 02:43:53 +00:00
pk
4d21d576ef Add some `DMA ESC gate array' specific constants. 1996-11-27 21:50:42 +00:00
pk
13ad3421cd DMA draining macros have moved to dma.c 1996-11-27 21:49:53 +00:00
pk
c7f438cd11 Handle the `ESC gate array' variant of the DMA engine, including an
essential bug work-around. Graciously supplied by David Miller.

Also re-arrange the macros that do the dma drain song-and-dance for
better clarity.
1996-11-27 21:48:19 +00:00
pk
f5f35b104f Sync with sparc port:
>Pay attention to DMA errors as reported by DMAINTR() returning -1. If this
>happens reset everything.
>
>Re-schedule a timeout when first attempting to abort an operation.
>Cancel any queued timer events before re-scheduling a timeout, so esp_abort()
>can be called from other places besides the timeout handler.
1996-11-27 21:38:35 +00:00
pk
c0a9fe4e7a Cancel any queued timer events before re-scheduling a timeout, so esp_abort()
can be called from other places besides the timeout handler.
1996-11-27 21:34:59 +00:00
pk
4526babc82 Pay attention to DMA errors as reported by DMAINTR() returning -1. If this
happens reset everything.

Re-schedule a timeout when first attempting to abort an operation.
1996-11-27 21:24:20 +00:00
pk
c1274b3cff Stabilize timeout values in fdcresult() and out_fdc() by adding delay()s.
Noted by Jason Thorpe over in the i386 driver.
1996-11-27 21:14:33 +00:00
thorpej
446317125e In fdcresult(), the loop that pulls status off the controller is treated
as a "timeout", yet there's no specific delay in each iteration.  Add
a small delay (10 usec... pretty arbitrary) in each iteration.  This
fixes the "fdcresult: timeout" problems I've been having on my 200MHz P6.
1996-11-27 19:53:51 +00:00
oki
0528423d96 renamed variable in ev_poll(), compile again. 1996-11-27 14:40:46 +00:00
oki
a91608384d edit include path, config again. 1996-11-27 14:37:18 +00:00
cgd
e338e3526d when panicing because of a fatal trap, print the trap's type name, as well
as its kernel entry number.
1996-11-27 01:28:30 +00:00
cgd
f7a967045c #ifdef DEBUG, check {read,write}_{multi,region} ops' pointer arg for alignment. 1996-11-27 01:24:49 +00:00
cgd
366a586e85 if we're going to do a real match (we are), ahve to special-case console 1996-11-27 01:20:26 +00:00
cgd
2f1d32e181 note eb164 support 1996-11-26 15:58:04 +00:00
is
8a722534a3 In the DraCo native clock interupt handler, clear the interupt condition
after returning from hardclock(), rather than before. For some reason,
this fixes the 0xffffffff i used to see in the tv_secs of the used cpu
time of some processes.
XXX I don't fully understand the issue.
1996-11-26 15:54:23 +00:00
cgd
98c4f0c312 add a comment re: eb164 1996-11-26 15:46:24 +00:00
gwr
43df579125 Get rid of md_upte[] and my copyright line. 1996-11-25 22:09:11 +00:00
cgd
f9d0b7e37f fix up field names for recent rpb.h changes 1996-11-25 16:18:16 +00:00
cgd
acf2644128 update for recent configuration changes. 1996-11-25 04:16:15 +00:00
cgd
abbe7f24f1 update for eb164 file addition, apecs & lca bus space function split
file additions/deletions, pcppi file addition, and pckbd & pms attachment
changes.  also, clean up a couple of comments.
1996-11-25 04:03:21 +00:00
cgd
003fda43da update for chipsets' init functions' new prototypes 1996-11-25 03:59:19 +00:00
cgd
97927bdd99 update for new extent management code. Most importantly, we can't call
the chipset space init functions multiple times, since that would clobber
extent allocations made between the two calls.  Also, deal with the
fact that the APECS and LCA no longer shared common chipset functions.
1996-11-25 03:56:48 +00:00
cgd
77baf28d70 update for new extent management code. Most importantly, we can't call
the chipset space init functions multiple times, since that would clobber
extent allocations made between the two calls.
1996-11-25 03:55:46 +00:00
cgd
7a1799b561 update for new extent management code, and for apecs/lca space access fn split 1996-11-25 03:49:36 +00:00
cgd
608a9f3065 update for new extent management code 1996-11-25 03:49:11 +00:00
cgd
6d7b2d82a7 make eb164 interrupts actually work. 1996-11-25 03:47:05 +00:00
cgd
8b50c9af38 reimplement, so that it works with the new extent mapping code. 1996-11-25 03:46:07 +00:00
cgd
fe6262c3c0 split the APECS and LCA bus memory and I/O functions. Most of them still do
the same things, but the extent maps have to be managed differently,
since the two chipsets provide different memory and I/O region mapping
possibilities.
1996-11-25 03:42:09 +00:00
cgd
1a45dbd671 update these to set up and use extents to map i/o space, and sparse and
dense memory.
1996-11-25 03:37:23 +00:00
cgd
25450fc448 hide a bogosity by not printing a message when pms not attached 1996-11-25 03:30:43 +00:00
cgd
d35047f37b Add a primitive driver for the PC-ish Programmable Peripheral Interface
and PC-ish keyboard controller.  (Actually, on alphas, the built-in PPI
(in the SIO) appears to be a lobotomized version of the original, but
i'd not call that a bad thing.)  This driver should eventually handle all
speaker tone requests and keyboard commands, but for now it just maps
the relevant ports and passes them on to the keyboard and mouse drivers,
which are now its children (rather than children of ISA).
1996-11-25 03:26:33 +00:00
cgd
8c007e0e48 use set_pci_isa_bridge_callback() to delay ISA/EISA bus attachment until
after PCI tree has been completely probed.
1996-11-25 03:15:24 +00:00
matthias
e756776636 * Fix cut and paste error. 1996-11-24 13:35:18 +00:00
matthias
901a1f3641 * Calibrate _delay for a 30mhz system if CPU30MHZ is defined.
* A few changes to _interrupt to support the new softint mechanism.
1996-11-24 13:35:15 +00:00
matthias
110e4e09ff * Prototyping tweaks.
* Support for the new softint mechanism. Softints are now requested by
  triggering an unused ICU hardware interrupt. The idea for this was
  contributed by Phil Budne.
1996-11-24 13:35:12 +00:00
matthias
518b5e6ae5 * Prototyping tweaks. 1996-11-24 13:35:10 +00:00
matthias
0f6a4a93fd * Rewrite of membusattach/membusscan/membusprint. 1996-11-24 13:35:08 +00:00
matthias
58dc92f52e * Prototyping tweaks.
* Changes to support the new softint mechanism.
1996-11-24 13:34:45 +00:00
matthias
591a6794e2 * A few changes to support the new softint mechanism. 1996-11-24 13:34:44 +00:00
matthias
9f82b6d4d1 * New file. Defines the structure describing config arguments passed to
match/attach functions.
1996-11-24 13:34:42 +00:00
matthias
a0117d39dd * Prototyping tweaks.
* Real probe code added.
* Duart info is now allocated only for devices that are present.
* Added IO-Recovery delays for 30mhz systems.
* Removed a few potential NULL-pointer references.
1996-11-24 13:32:53 +00:00
matthias
ee943634a8 * Prototyping tweaks. 1996-11-24 13:32:48 +00:00
matthias
e9d6e1a616 * New file. Defines config options and devices common to all pc532s. 1996-11-24 13:28:56 +00:00
matthias
63758fd99b * Include to std.pc532 added. 1996-11-24 13:28:52 +00:00
cgd
e29fc4fb1d sync up with pk's commit to the sparc port:
>One control block per target is insufficient if you have a full complement
>of targets attached and access those simultaneously (like in a ccd(4) array).
>We (now) allocate (somewhat arbitrarily) three per target.
>Noticed by Marshall Midden.
1996-11-24 04:21:30 +00:00
mark
1728fa466c Removed duplicate LKM option. 1996-11-23 21:15:46 +00:00
mark
f4b69eb14d Removed a load of [cb]dev_decl() lines that are provided by sys/conf.h 1996-11-23 21:15:31 +00:00
oki
e36077d7ba Implement poll(2). 1996-11-23 09:44:53 +00:00
cgd
abf0b7c010 deal with the fact that apparently-common revisions of EB164 firmware
don't machine check when a PCI Master Abort is signalled.  This can
happen, for instance, when configuration space for a device that isn't
present is examined.  When this is detected, act like we normally would
when machine checks are posted while examining nonexistant devices.
1996-11-23 06:46:50 +00:00
cgd
ff523f9080 fix HAE_MEM_REG3_START definition (shift was incorrect). Add CIA_CSR_CIA_ERR
register definition.  (should define bits in CIA_CSR_CIA_ERR, but haven't
done that yet.)
1996-11-23 06:42:55 +00:00
cgd
574633aea2 add definitions for LCA_IOC_HAE contents. Add a REGVAL64 macro, like
REGVAL but good for 64-bit chipset registers.
1996-11-23 06:41:00 +00:00
cgd
7aefe04c3e update for new names for ISA VGA console match and attach functions 1996-11-23 06:38:49 +00:00
cgd
fc7b72ee10 move interrupt establishment to just before clock interrupts are
enabled (from the attach routine), and add comments as to why.
Some PALcode apparently 'saves' a clock interrupt for the kernel,
and if the clock interrupt handler is enabled at attach time, it
will be run when that interrupt hits, i.e. right after the spl0()
at the end of autoconfiguration.  That would cause hardclock to be
run, but proc0's p_stats isn't set up by then, which would cause
hardclock to crash.
1996-11-23 06:31:57 +00:00
cgd
12fc617201 make ALPHA_K0SEG_TO_PHYS and ~0xfffffc00000000000 with the address,
rather than and-ing 16G-1.  That just strips the k0seg bits, rather
than making the false assumption that the physical address is going
to be in the lower 16G.  That doesn't apply for CIA device-space
addresses, for instance.
1996-11-23 06:25:31 +00:00
cgd
d22ab75ff0 clean up match: check args more carefully, make sure I/O space can be mapped 1996-11-23 06:21:43 +00:00
cgd
335c1af878 move probe and setup code into common functions. always probe (i.e.
even if PCI and the IDs are right), just for sanity, before declaring
success.  Split the single 0x3b0 -> 0x3df allocation into three seperate
ones: 0x3b0 -> 0x3bc (leaving the 4 ports available for lpt),
0x3c0 -> 0x3cf, and 0x3d0 -> 0x3df.  The former chunk has to be split
off if the lpt can exist there, and it's sort-of pretty to have each
group (based on second hex digit) have its own handle.
1996-11-23 06:06:43 +00:00
mark
e2b7ebae9d Now we have a fix for the StrongARM STM^ bug we can recache the SVC32 stack
pages.
Cleaned up several prototypes.
1996-11-23 04:09:01 +00:00
mark
9c855e4d1b Provide alternative trapframe push and pull macros from the StrongARM.
These alternative macros have a workaround for the STM^ bug in revision < 3
StrongARM CPU's that causes incorrect register saving if a cache line fill
is in progress during the STM.
1996-11-23 04:02:40 +00:00
mark
199fcfe651 Recognise the name Empty: as a possible valid partition in a RISCiX
partition table.
1996-11-23 03:56:44 +00:00
mark
12b8038548 Fixed the IPL level of the interrupt handler. 1996-11-23 03:56:02 +00:00
mark
4c515d528e Pass the device name to identify_master_cpu().
Identify StrongARM CPU's with bugged STM^ instructions.
1996-11-23 03:53:48 +00:00
mark
3c05da919c Use the IOMD_ID macro to check the IOMD ID number rather than direct reads
from the IOMD.
1996-11-23 03:45:52 +00:00
mark
2883a694fa Check the IOMD ID in the podulebus probe to make sure the IOMD supports
a podulebus.
Make sure the podulebus driver conforms to the Acorn expansion card
specification:
  - Probe the podule bus using sync access cycles rather than slow access
    cycles.
  - Read the podulebus header/ROM using sync access cycles rather than slow
    access cycles
1996-11-23 03:42:39 +00:00
mark
37f3875ce4 Use the IOMD_ID macro to check the IOMD ID number rather than direct reads
from the IOMD.
1996-11-23 03:37:35 +00:00
mark
374d51c858 Rebuild from latest podules list. 1996-11-23 03:27:15 +00:00
mark
ecdf4c14bd Added a number of new manufacturer ID's and some new podule ID's. 1996-11-23 03:23:49 +00:00
mark
5debc61be1 Added IOMD_ID macro to return the 16bit IOMD ID code. 1996-11-23 03:21:43 +00:00
mark
f74d5f023d Fixed typos. 1996-11-23 03:20:20 +00:00
mark
f14bcbdac4 Added prototype for branch_taken(). 1996-11-23 03:20:18 +00:00
mark
b38644ed8d Check for CPU_ARM8 when testing for comflicting CPU options. 1996-11-23 03:18:20 +00:00
mark
776f1e24d6 List the nbuf= bootloader option. 1996-11-23 03:16:51 +00:00
mark
3474eb69a0 Yet more items added to the list. 1996-11-23 03:13:19 +00:00
pk
3cb63476b7 One control block per target is insufficient if you have a full complement
of targets attached and access those simultaneously (like in a ccd(4) array).
We (now) allocate (somewhat arbitrarily) three per target.
Noticed by Marshall Midden.
1996-11-22 22:36:57 +00:00
jonathan
80702e3c14 Add KERNLD hook to allow overriding the LD used to link kernels.
Set KERNLD to ld.old.  gcc binutils 2.7 gets an assert error linking kernels.
1996-11-22 18:53:31 +00:00
jtk
73b960a308 add pre-probe step so that autoconfiguration does not print 'apm0 at
mainbus0 not configured' message if configured but not present in the
BIOS
1996-11-22 00:19:07 +00:00
gwr
9ccd21bece Copyright assigned to The NetBSD Foundation 1996-11-21 13:57:20 +00:00
scottr
86b50e865d Add missing ss, uk, and rd devices to cdevsw 1996-11-21 08:33:22 +00:00
jonathan
b1224d9a3d * Add /sys-relative paths for NetBSD-1.2b config.
* Add standard mips EXEC packages  to std.pica
* Move non-optional options to std.pica
1996-11-21 03:23:42 +00:00
cgd
31cc61b793 try mapping the I/O space (as well as the memory space) in the probe routine. 1996-11-20 20:04:53 +00:00