Commit Graph

2488 Commits

Author SHA1 Message Date
thorpej 3eed2414e5 Handle a few more SPECIAL intructions. 2000-03-20 02:54:45 +00:00
thorpej 3c8d09cc56 Update the amask bits. 2000-03-20 02:19:44 +00:00
thorpej f785596e75 Add support for mapping the OHCI USB controller interrupt (which is wired toan ISA IRQ because it's in the same package as the PCI-ISA bridge). 2000-03-19 02:25:29 +00:00
thorpej ac93a75106 Point back to the alpha_shared_intr in the intrhand structure. This
allows platform-specific code to access the `intr_private' data via
the intrhand structure.
2000-03-19 01:46:18 +00:00
thorpej c10a9d31ea Put the code that enables/disables Pyxis interrupt lines in
cia_pyxis_intr_enable().
2000-03-19 01:43:25 +00:00
tron e86957458a Install "machineendian_machdep.h". 2000-03-17 22:36:31 +00:00
mycroft 9e21b6555a In the `MY THAT'S GROSS' department...
Eliminate the recursive include of machine/endian.h from sys/endian.h.
2000-03-17 00:09:18 +00:00
mycroft 02905321b2 Foolish consistency. Mainly, always use underscores and sys/endian.h. 2000-03-16 15:09:34 +00:00
nisimura f7f5e0a24c Note that HX (PMAGB-B) has no support for small (less than 8 pixel width)
font.  If attempted, kernel will explode.
2000-03-16 08:42:40 +00:00
drochner aa1de89bdf explicitely #include <sys/systm.h> #if BUS_SPACE_DEBUG to get a printf()
prototype
2000-03-15 16:44:48 +00:00
nisimura 220005d941 Eliminate unused sc_cookie field of struct ioasic_softc. 2000-03-15 03:07:44 +00:00
oster 1bad2e1909 Add the RAIDframe device major to the machine-dependent config files
so that the right entries get added to dev_name2blk[].  Needed for / on RAID.
(Whoops!  I missed checking these in when adding the RAID_AUTOCONFIG stuff.)
2000-03-14 15:56:51 +00:00
nisimura 8bf44847a8 Fix DEC3000/300 TC slot numbering. There is an address space hole
between two TC option cards and 3 builtin TC devices.  Was uncovered by
mrg's change made at Nov 1999 and pointed by tsutsui.
2000-03-14 05:53:33 +00:00
nisimura 6f5486c425 Switch to MI sfb (PMAGB-B) TC framebuffer driver which sports faster
text rendering assisted by SFB ASIC.
2000-03-14 05:34:04 +00:00
nisimura 8de02d3a76 - Comment out cfb (PMAG-B) 1024x768 framebuffer.
- Have Gallant19 font by default.
2000-03-14 05:31:16 +00:00
nisimura b3a2990ce5 Redo the previous commit; duplicated lines. 2000-03-14 02:55:04 +00:00
nisimura 38ed3db66f Synchronize with recent progress of GENERIC. 2000-03-14 02:53:04 +00:00
soren 95054da1a1 Fix doubled 'the's in comments. 2000-03-13 23:52:25 +00:00
cjs 0aaf8765ad Add reminder to add stuff to ALPHA as well as this. 2000-03-09 22:27:26 +00:00
cjs fe76319160 Add ident and RAID_AUTOCONFIG to bring up to date with GENERIC. 2000-03-09 22:26:41 +00:00
kleink a9ebf7bb8c Define ISO C99 (unsigned) long long (min, max) symbols. 2000-03-07 19:31:49 +00:00
tsutsui d16c6f3272 Use DISKPART/DISKMINOR/DISKUNIT instead of dkpart/dkminor/dkunit. 2000-03-07 15:55:14 +00:00
thorpej a183d34f04 - Implement cnbell() -- ring the console bell. The cn_bell entrypoint
is optional.
- Add cn_bell to statically allocated consdevs as appropriate.
2000-03-06 21:36:05 +00:00
thorpej 23c5667cfe Use ANSI-style function declarations for the various inline functions
here.  Addresses port-alpha/9056.
2000-03-05 18:46:14 +00:00
thorpej 7d57276982 Do partial lazy I-stream sync -- in the pmap_enter()/pmap_remove() cases
for now.  More to come.
2000-03-01 18:29:04 +00:00
thorpej 908f6bc4cd Infrastructure for lazy istream sync in the pmap module:
- Add a bitmask for the CPUs which need an isync before this pmap returns
  to userspace on that CPU.
- Define PMAP_USERRET(), a utility macro for userret() to use to process
  the deferred isync, and call it as appropriate in userret().
2000-03-01 02:22:03 +00:00
thorpej a192dc9c5b PMAP_ISACTIVE() now takes the cpu_id. This serves two purposes:
- Everywhere it was used, the cpu_id was already computed, so this
  saves computing it again.
- This will be needed for lazy istream sync.
2000-03-01 01:32:45 +00:00
thorpej 64911f1d2e Use cpu_number() here instead of alpha_pal_whami(). 2000-03-01 00:43:34 +00:00
thorpej fac7fc369f Put machine check info in cpu_info in the multiprocessor case, and
just have one statically allocate machine check info structure in the
single processor config case.
2000-02-29 22:19:53 +00:00
thorpej 04d9239b1e Reset mc_received after we've done a badaddr probe. 2000-02-29 21:42:54 +00:00
simonb 4eb55e447c Do the "<space><tab>" thing with the RAID_AUTOCONFIG option. 2000-02-29 06:32:20 +00:00
mycroft cf3085176e Nuke all the code associated with the INITIALLY_LEVEL_TRIGGERED() lossage, and
instead register a shutdownhook to restore the PIC state.
2000-02-27 02:50:31 +00:00
mycroft 544ffa4528 Force polling on pcic, so I get another IRQ for cards. 2000-02-27 00:15:30 +00:00
mycroft 76a60b98d3 Install pio.h. 2000-02-26 22:15:40 +00:00
thorpej 198dbed79d Pull in <sys/types.h> for the benefit of those things which include
<machine/sysarch.h> but don't pull in <sys/types.h>.
2000-02-26 20:12:56 +00:00
thorpej 0958e8149a x86-style PIO ops for USERLAND ONLY! Requires -lalpha. 2000-02-26 19:00:51 +00:00
thorpej df88882d80 - Add a bus space method for getting the translation for a window.
- Add sysarch methods for "get bus window count", "get bus window",
  and "pci conf read/write".

These are a hack, but they're what's necessary in order to make
XFree86 work in its current state.
2000-02-26 18:53:10 +00:00
oster d9c47013b2 Defopt 'RAID_AUTOCONFIG'. Adding 'options RAID_AUTOCONFIG' turns on
the component auto-detection and auto-configuration of RAID sets.
Also, add "#options RAID_AUTOCONFIG" to the GENERIC config files.
2000-02-26 17:35:33 +00:00
thorpej 0b97eb1052 alpha_pa_access(): if securelevel <= 0, grant read/write access to
non-memory address locations.
2000-02-26 00:17:25 +00:00
mycroft f8e1e12acc Add Aviator/RayLink. 2000-02-25 20:55:34 +00:00
mycroft d1546a70bb Add more PCMCIA stuff, nuke PNP. 2000-02-25 20:52:11 +00:00
thorpej 3dacaa322d Protect a few things from userland with _KERNEL. 2000-02-25 01:16:41 +00:00
thorpej de974ff82d Add an internal bus space method alpha_bus_space_translate(), which
provides a method to translate an address on an I/O bus into a sysBus
address, along with acccess method information.
2000-02-25 00:45:04 +00:00
tls 08ef0cfe07 revert previous change 2000-02-22 21:09:50 +00:00
mjacob 64fa8aa0d6 remove SES driver 2000-02-22 17:43:57 +00:00
thorpej b0b40b6c34 Make this compile after the netisr_dispatch change. 2000-02-22 15:43:54 +00:00
erh 8f03b9a04a Define the DONETISR macro and use netisr_dispatch.h. This is to cut down on code duplication and to standardize the available NETISRs across all ports. 2000-02-21 20:38:46 +00:00
thorpej fd8c03cf44 Allow arch-specific code to specify in4_cksum() like it can specify
in_cksum().
2000-02-14 21:42:50 +00:00
thorpej 09943f0ffa G/c references to VM_KMEM_SIZE. 2000-02-12 20:57:12 +00:00
thorpej dded044fc2 Update for the NKMEMPAGES changes. 2000-02-11 19:25:12 +00:00
mjacob 9621e6be50 Reset maxstray count if we get a good interrupt for a level. 2000-02-10 07:45:43 +00:00
mjacob 13e13336b2 Allow (re)setting of maxstrays after establishment of a shared interrupt.
This allows sporadic stray interrupt counts to be reset by an acknowledgement
of the same interrupt.
2000-02-10 07:45:02 +00:00
mjacob 4821b5ae2f Guard against trying to disable an interrupt where we'd dereference a
bad pointer.
2000-02-10 04:31:36 +00:00
sommerfeld d129ec5214 Fix typo in error message 2000-02-09 23:25:15 +00:00
shin 7f5a7c00ac fix include file.
<netinet6/ip6.h>	->	<netinet/ip6.h>
2000-02-09 05:48:26 +00:00
thorpej f9e531f1e4 Don't force BWX on Pyxis by default; it's just not reliable enough. 2000-02-09 01:39:20 +00:00
thorpej ec02ebc8a0 Adjust for IOASIC register changes. 2000-02-09 00:33:03 +00:00
thorpej 52a2804a5c Add a new function call to the ISA DMA API: isa_dmamaxsize(), which returns
the maximum transfer size for the specified DMA channel.  Make all clients
of ISA DMA use this call to determine their maximum transfer size.
2000-02-07 22:07:27 +00:00
thorpej fe551f0e64 Fix a bug in disksort_*() which caused non-optimal ordering when multiple
active partitions were on a single spindle.  Add a b_rawblkno member to
struct buf which contains the non-partition-relative block number to sort
by.
2000-02-07 20:16:47 +00:00
thorpej 17c346b9e1 Changed cacheable -> prefetchable. [sync w/ swiz] 2000-02-06 04:07:18 +00:00
elric 28bdaf37d9 Changed cacheable -> prefetchable. 2000-02-06 03:52:27 +00:00
thorpej 97eba73a40 If we have a Pyxis with the DMA page crossing bug, don't allow coalescing
of adjacent DMA segments.

XXX This is still not perfect... but making it perfect will probably
require additions to the bus_dma interface and the ISA autoconfiguration
interface.
2000-02-06 01:26:50 +00:00
thorpej 0c4f8a876b Implement an internal DMA map flag which prevents coalescing of
adjacent DMA segments.
2000-02-06 01:23:30 +00:00
veego 5b4e17169b Bring in the support to boot from ide drives. This is from dec_eb164.c.
This is needed for newer firmware and to boot from slave drives.
2000-02-05 22:22:41 +00:00
veego 541c31000e Sync the ide support with dec_eb164.c rev 1.32:
Add the support to boot an ide slave drive and to boot from the secondary
ide channel.
Michael Hitch gave me the final hint how to do that and Havard Eidnes
tested it with his slave drive.
This should fix pr#8808 on the DS10.
Also remove one ideboot check which wasn't removed when I removed it from
dec_eb164.c.
2000-02-05 22:19:19 +00:00
veego b92d490f3e Add the support to boot an ide slave drive and to boot from the secondary
ide channel.
Michael Hitch gave me the final hint how to do that and Havard Eidnes
tested it with his slave drive.
This will also fix pr#8808 on the DS10 when I commit the changes to
dec_6600.c.
2000-02-05 22:14:42 +00:00
kleink 36e6bc645e Improve namespace test macros a bit. 2000-02-05 14:04:36 +00:00
cgd 253b179629 clean up (group, sort) __HAVE_* defines 2000-02-05 00:07:30 +00:00
kleink 82464e46d6 Add a C99-style va_copy macro. 2000-02-03 16:16:06 +00:00
nisimura c6641d91a8 Merge IOASIC register definitions. 2000-02-03 08:13:44 +00:00
thorpej 0cf304bb45 Always use BWX for bus access on Pyxis chips. 2000-02-01 19:29:28 +00:00
tsutsui 11c8f56d48 Revert STRIPPROG -> STRIP 2000-02-01 05:25:24 +00:00
mjacob d166ec2056 Do not forget to init intr_private 2000-02-01 04:14:18 +00:00
danw f77befbc84 #define __HAVE_DEVICE_REGISTER on ports that have it, and check for
that, rather than a list of architecture defines, in config_attach
2000-02-01 04:01:19 +00:00
mjacob 77e40e844d Add some defines for TLSB interrupt mask and summary registers. Update
copyright.
2000-01-27 22:27:50 +00:00
tsutsui b0fbaa33fb Remove obsoleted macros. 2000-01-26 09:44:10 +00:00
drochner 8eb798e603 define a "BUS_SPACE_MAP_PREFETCHABLE" flag which basically means that
device accesses are idempotent (but should not be cached by the CPU)
2000-01-25 22:13:17 +00:00
augustss 85fcd0b58d Update for the ucom(4) addition. 2000-01-25 08:31:56 +00:00
thorpej 35f3518a91 Fix a fatal typo in a Pyxis SGMAP TLB bug workaround. Noticed by
Jeff Roberson <nomad@nop.aliensystems.com>.
2000-01-25 03:32:36 +00:00
tron 04eb110431 Add "dependall" target for comfort. 2000-01-24 20:36:06 +00:00
hubertf 7e5ff67457 Add commented out "ident"-command 2000-01-23 23:46:04 +00:00
mycroft 7b49d242ce Clean up the machine symlink stuff ever so slightly. Needs to be
standardized between files.
2000-01-23 17:04:03 +00:00
thorpej 5422cfb256 Fix netisr processing for PPP when there is only one device configured.
port-alpha/9257, Kevin P. Neal.
2000-01-22 18:28:04 +00:00
thorpej 52242fdf9f Update for sys/buf.h/disksort_*() changes. 2000-01-21 23:28:59 +00:00
sommerfeld aa195e816f Fix PR9240: comment above cpu_fork() out of synch with reality on most ports.
(comment change only, but was wrong for more than just i386).
2000-01-20 22:18:54 +00:00
mjacob e1598bac13 fix misspelling 2000-01-20 17:16:25 +00:00
mjacob c6459da685 add SES device 2000-01-20 17:13:27 +00:00
thorpej a0397a2573 Move callout initialization to a single location; no need to duplicate
that code all over the place.
2000-01-19 20:05:30 +00:00
tsutsui e61f177ab1 STRIP -> STRIPPROG 2000-01-19 16:29:54 +00:00
cjs b54595a488 Make sure that everything in GENERIC is in ALPHA, and that the two files
have config lines in the same order to make diffing easier.
2000-01-19 13:53:47 +00:00
cjs 73b79d6c25 Make sure that everything in GENERIC is in ALPHA, and that the two files
have config lines in the same order to make diffing easier.
2000-01-19 07:04:23 +00:00
cjs c79473b2b7 Add vr driver and missing phys. 2000-01-19 06:09:03 +00:00
mycroft c10e001ee2 Sync, +IPv6. 2000-01-19 03:05:06 +00:00
mycroft 1c92c8d7ed Add a sequencer to go with the midis. 2000-01-19 03:01:46 +00:00
msaitoh 0b9af6bdce check whether tv_usec >= 1000000 2000-01-19 02:52:16 +00:00
thorpej ed244ca8e4 Use b_cylinder as defined in sys/buf.h 2000-01-18 19:34:24 +00:00
augustss f7145f672e Add USB-Ethernet adapters. 2000-01-17 17:47:03 +00:00
kleink 693059feda const -> __const and include <sys/cdefs.h> earlier; fixes PR lib/9052
by Takahiro Kambe.
2000-01-04 14:20:05 +00:00
kleink 11e6c54cfc C99: Define a NAN macro in <math.h> which evaulates to a constant expression of
a single-precision quiet NaN; only to be defined on platforms that do support
this value.
1999-12-23 10:15:05 +00:00
thorpej 6926d0d4b1 Hand-tuned pmap_zero_page(). 1999-12-17 07:24:05 +00:00
thorpej a07b7d60e2 Garbage-collect. 1999-12-16 20:20:11 +00:00
thorpej 81f44f09a5 - Remove a misguided attempt to use procs as idle contexts for secondary
processors.  Instead, allocate separate idle PCBs for them (including
  the primary -- don't use proc0's for its idle context).
- Use SysValue to store the cpu_info for each processor.
1999-12-16 20:17:22 +00:00
thorpej a5b316c4d5 Key off NSIO and NPCEB for (E)ISA interrupt support.
XXX Can probably nuke the SIO test; don't all of the Noritake-class systems
XXX have EISA?
1999-12-15 22:31:04 +00:00
thorpej 4f580f447c Key off NSIO and NPCEB for (E)ISA interrupt support.
XXX Can probably nuke the SIO test; don't all of the Mikasa-class systems
XXX have EISA?
1999-12-15 22:30:40 +00:00
thorpej 58a51e3b72 Key off NSIO and NPCEB for (E)ISA interrupt support.
XXX Can probably nuke the SIO test; don't all of the ALCOR-class systems
XXX have EISA?
1999-12-15 22:28:15 +00:00
thorpej c557690acc Key off NSIO and NPCEB for (E)ISA interrupt support.
XXX Can probably nuke the SIO test; don't all of the Rawhide-class systems
XXX have EISA?
1999-12-15 22:25:21 +00:00
thorpej 3ffe65b597 Use alpha_shared_intr_{get,set}_private(). 1999-12-15 22:21:45 +00:00
thorpej deed2b3b4b Fix a botch in stray interrupt reporting; report the kn300 IRQ, not the
interrupt enable bit on the MCPCIA the interrupt is mapped to.
1999-12-15 20:10:04 +00:00
thorpej 8b34a5b689 Revert previous. 1999-12-08 23:54:55 +00:00
thorpej fd6f6e85b2 Slight changes so that bounce buffers can be implemented for the Jensen. 1999-12-08 23:40:35 +00:00
thorpej 781149bb12 Handle the case where PCI dense memory and PCI sparse memory don't
overlap; don't require allocation from the dense extent if the PCI
memory address isn't mapped into dense space.

Also, make sure to return an error if a liner mapping is requested
and dense space is not available (not just not requested).
1999-12-08 01:48:39 +00:00
thorpej 9beb275ae8 Oops, committed the wrong version of this file previously. 1999-12-08 00:35:43 +00:00
thorpej a4f30c3f19 Add entry for AlphaServer 2100 (Sable, Sable-Gamma). 1999-12-07 21:51:53 +00:00
thorpej fcf35a8417 Add options, files, etc. for the AlphaServer 2100 (Sable, Sable-Gamma).
Actual source files not yet committed.  Very Soon.
1999-12-07 21:47:12 +00:00
thorpej 25a665e643 Avoid a spurious warning when establishing a pulsed interrupt handler
on an IRQ which was marked "initially-pulsed".
1999-12-07 21:36:16 +00:00
thorpej 4056ebc587 When doing a badaddr check, insert an extra `mb', which is highly magic
on some systems (due to quirky bus adapters).
1999-12-07 21:35:06 +00:00
thorpej ac20942bc5 Some systems don't have dense space; don't require it. 1999-12-07 07:04:39 +00:00
thorpej 51f4c69ad4 Clarify what appear to the untrained eye to be two magic constants (the
address shift and access size shift), and allow them to be overridden
by chip-specific code, if necessary.
1999-12-07 05:44:57 +00:00
drochner 0893832078 update for changed struct wsdisplay_accessops:show_screen signature.
no functional changes
1999-12-06 19:25:56 +00:00
ragge 0513268399 CL* discarding. 1999-12-04 21:13:19 +00:00
mjacob d5e85e61cf Fixes PR#8836. Some changes made by somebody else were a tad incomplete so
configuring w/o SIO broke compilation. I forget why, but there was at one
point (and may still be) a dependency between SIO and EISA. This change
just makes things compile sensibly again. It may make no sense to build
a kernel w/o sio in this case. I can't test this conveniently because I
haven't got a 4100 with a video card in it at the moment.
1999-12-04 20:29:02 +00:00
thorpej 08d1d1b378 Actually, the 2100_A500 has 64 interrupts, not 16. 1999-12-04 00:22:54 +00:00
lukem a63bfb3c6a add atomic.h (missed by thorpej; approved by thorpej) 1999-12-04 00:18:15 +00:00
thorpej 4560ac465a Split the PC-like keyboard controller driver into chip back-end and
bus front-end.
1999-12-03 22:48:22 +00:00
thorpej 0aa48d5c55 New delay(), more carefully coded:
- Use explicit assembly; don't want the compiler optimizing things too
  much here.
- Subtract 2 for each iteration of the loop, rather than 3.  The loop
  consists of only 2 instructions (even the C version compiled to a
  loop of 2 instructions).

The latter change has squashed a fairly annoying timing bug in the
mii_bitbang module as used by the `ex' driver on my AlphaStation 500.

XXX delay() should maybe be rewritten again, to use the rpcc instruction.
1999-12-03 07:29:57 +00:00
thorpej fafcf62fd6 Update my main Alpha development machine's kernel config file to
reflect current reality.
1999-12-03 07:03:43 +00:00
thorpej a51be1961c lock_machdep.c is gone. 1999-12-03 01:13:51 +00:00
thorpej 5d0a62da53 Remove now-obsolete atomic operations. 1999-12-03 01:13:17 +00:00
thorpej 2d8ef60c51 This file is obsolete. 1999-12-03 01:12:00 +00:00
thorpej 2a97466824 Rewrite the atomic locking primitives using in-line assembly. 1999-12-03 01:11:34 +00:00
thorpej d89260177d In pmap_page_protect(), don't reference a pmap we're unlocking via
the PV entry we just freed (D'OH!)
1999-12-02 23:40:27 +00:00
thorpej 9f7d189f05 Inline most of the remaining PALcode calls. 1999-12-02 22:08:04 +00:00
thorpej 90bc415584 Pull in the BWX inlines. We expect the arch to be set appropriately for
the assembler before these files are pulled in by the chip-sepecific files.
1999-12-02 19:44:49 +00:00
thorpej 4e08cc6996 CIA core logic with BWX enabled appears on EV6. We require at least
EV56 for the assembler to emit BWX opcodes, so set the arch to "ev6".
1999-12-02 19:43:58 +00:00
thorpej dc362cf369 CIA core logic with BWX enabled appears on both EV56 and PCA56. We
require at least EV56 for the assembler to emit BWX opcodes, so set
the arch to "ev56".
1999-12-02 19:43:25 +00:00
thorpej 0a2ea99c42 Inline the BWX instructions. 1999-12-02 19:41:39 +00:00
thorpej 4106b60175 Move atomic operations into <machine/atomic.h>, and make them in-line
assembly, rather than function calls.

...except alpha_atomic_testset_l(), which will go away completely once
I commit the new <machine/lock.h>.
1999-12-02 01:09:11 +00:00
thorpej c258dfae2f After reading the GCC `documentation' a little more, improve the inline
__asm() statements added previously for PALcode operations.
1999-12-01 18:23:11 +00:00
thorpej 12f7832ebc don't need private `imb' inline anymore. 1999-11-30 22:32:08 +00:00
thorpej 9314d7f4d7 Use ptoa() consistently when printing out how much memory we have, etc. 1999-11-30 19:31:56 +00:00
thorpej 69b252dfff Put some (disabled) debugging code into pmap_steal_memory(). 1999-11-30 18:18:02 +00:00
thorpej 89ae0bf93c Inline several things from pal.s:
- alpha_rpcc(), alpha_mb(), alpha_wmb() -- these are instructions, and
  we win by inlining them: rpcc is generally used for profiling, and
  the memory barriers really should execute as quickly as possible with
  minimal side-effects (like additional loads/stores required to call the
  functions!)
- alpha_pal_imb(), alpha_pal_rdps(), alpha_pal_swpipl(), alpha_pal_tbi(),
  alpha_pal_whami() -- these are PALcode ops.  We must specify some register
  clobbers for these.

We have a very decent size savings as a result.  My test system:
text    data    bss     dec     hex     filename
2671724 235848  377016  3284588 321e6c  /netbsd.bak
2617708 235736  377016  3230460 314afc  /netbsd

Most of this comes from fewer register saves/restores around spl*() calls
(now that alpha_pal_rdps() and alpha_pal_swpipl() are inlined).

Note that alpha_pal_rdps() and alpha_pal_swpipl() remain in pal.s to
maintain binary compatibility with LKMs that may use spl*() functions.
1999-11-30 00:42:46 +00:00
thorpej 871b54b6d2 Vector to a local function for the IMB IPI. 1999-11-30 00:26:55 +00:00
thorpej 18e6d486f4 Add an IPI which causes the target CPU to perform AST processing when
it returns to userspace.
1999-11-29 20:00:04 +00:00
thorpej 7f1ccd57ea Add a way to get/set a private pointer in the shared interrupt header. 1999-11-29 19:59:19 +00:00
thorpej df2cf70865 - Fix a botch in the IPI bitmasks (they were right-shifted by 1), and
add an IPI which causes the target CPU to perform AST processing when
  it returns to userspace.
- Add a way to get/set a private pointer in the shared interrupt header.
1999-11-29 19:58:39 +00:00
thorpej 68fb3dc662 Switch to the new pmap_remove() and nuke the old one. A simple fork/exit
benchmark shows at least a 10% improvement in the tearing down of a large
address space.
1999-11-29 18:37:28 +00:00
thorpej 94552ad5d6 - Use alpha_atomic_{add,sub}_q() to update the pmap statistics. We now no
longer need to lock the kernel pmap in pmap_kenter_pa() and pmap_kremove().
- Since locking the kernel pmap in interrupt context is no longer required,
  don't go to splimp() when locking the kernel pmap.
- Implement a new pmap_remove() function, not yet enabled by default.  It
  is structured like pmap_protect, and should be *much* faster.  This was
  actually written quite some time ago, but never committed because it
  didn't work properly.  Given the recent bugfix to pmap_protect(), "duh,
  of course it didn't work properly before...".  It seems to work fine now
  (have done several builds and run the UVM regression tests using the new
  code), but it is currently run-time optional so that some performance
  measurements can be easily run against the old and new code.
1999-11-28 19:53:11 +00:00
thorpej 1710fad449 Implement atomic addition and subtraction on quadwords. 1999-11-28 19:47:13 +00:00
mycroft 1d9d2c47c5 In pmap_emulate_reference(), always or in the bits. I know the code is trying
to be clever, but...
Also, a slight optimization for the write case.
1999-11-27 00:25:15 +00:00
mycroft f26df92bed Fix bugs in pmap_protect() that were responsible for the `ld.elf_so lossage'.
* We could overrun the eva by as much as L1SEG_SIZE-PAGE_SIZE.
* sva was advanced *twice* for each valid l3 or l2 page, causing it to get out
  of sync with the PTE pointers.
1999-11-26 23:04:33 +00:00
itojun e9a0023b37 bring in content of GENERIC.v6 into GENERIC.
remove GENERIC.v6 file (as it is part of GENERIC now).

"faith" interface is commented out by default as it is not really for
general use.
IPsec items are commented out as well, though we can enable "options IPSEC"
without export-related issue ("options IPSEC" will enable authentication
portion only).  We may need to think about it again.

if you have problem compiling with INET6 on archs I do not have access to,
please contact me.

XXX what to do with arch/arm32/SHARK{,.v6}?
1999-11-21 14:00:37 +00:00
mrg d07a6cf8e4 pull across fix from dec_3000_500.c:
>split the "asc" and "tcds" searching into two separate sections and
>keep a "tcdsdev" of the booted tcds device.  make sure that the "asc"
>is the child of the tcds.  this fixes boot device detection on dec
>5000/400 (prolly 400-900) machines in the presense of a tcds option
>card, which would use the right tcds chip & disk scsiid of the last
>attached tcds -- which meant it would choose the wrong disk, or not
>find the boot device at all if the corresponding scsiid was unused in
>the last attached disk.
>
>XXX: this may need to be copied to dec_3000_300.c but i have no idea
>as i can not test this hardware at all...
>
>fixes PR#8771 by myself.
1999-11-20 00:01:14 +00:00
mrg 9f1959ab2b split the "asc" and "tcds" searching into two separate sections and
keep a "tcdsdev" of the booted tcds device.  make sure that the "asc"
is the child of the tcds.  this fixes boot device detection on dec
5000/400 (prolly 400-900) machines in the presense of a tcds option
card, which would use the right tcds chip & disk scsiid of the last
attached tcds -- which meant it would choose the wrong disk, or not
find the boot device at all if the corresponding scsiid was unused in
the last attached disk.

XXX: this may need to be copied to dec_3000_300.c but i have no idea
as i can not test this hardware at all...

fixes PR#8771 by myself.
1999-11-19 10:49:46 +00:00
mjacob 8cf9a14802 Add in a step to actually probe for MCPCIAs. This allows us to run on
4100s that only have two of four possible MCPCIAs.
1999-11-16 18:37:24 +00:00
mjacob 2981278f40 Add in a define for a MCPCIA bridge register that would be suitable for
probing for with badaddr(9).
1999-11-16 18:36:27 +00:00
mjacob ce28c5e558 Make sure a MCPCIA exists before trying to initialize it. Also make
sure a MCPCIA softc exists before trying to do post-config cleanup
on it.
1999-11-16 18:33:11 +00:00
enami 0a4858667a Include sys/device.h so that this file compiles again; file dev/tc/tcvar.h
now contains the definition of tc_softc.
1999-11-16 12:26:42 +00:00
dan 46ccd498df Add entries for we[01] (configured as for the i386 GENERIC) to enable
WD/SMC ISA ethernet cards to be used for installation and setup.
1999-11-16 07:37:43 +00:00
dante 7d4ad0e29e Add WDTR, SDTR and TAGQ disable options 1999-11-15 20:07:21 +00:00
fvdl 8bec119fcc Add commented out option SOFTDEP to all GENERIC kernels. 1999-11-15 19:10:44 +00:00
fvdl d116707af0 Add
prefix ../gnu/sys
cinclude "conf/files.softdep"
prefix

to all std.* files, so that soft dependencies can be activated using
"options SOFTDEP".
1999-11-15 19:00:25 +00:00
thorpej 728d672378 Backout my libsa changes. 1999-11-13 21:33:12 +00:00
thorpej abff7cb610 Update for pmap_enter() API change. 1999-11-13 00:27:21 +00:00
thorpej 59cbff957d Update for pmap_enter() API change, and return failure if possible. 1999-11-13 00:26:22 +00:00
lukem 0888d71168 recognise the ACER labs M1543 PCI-ISA Bridge in siomatch(). the DS10 now boots!
thanks to thorpej/ross/mrg for helping me out on this.
1999-11-12 22:07:28 +00:00
simonb 2b6e59dd39 Don't include <lib/libkern/libkern.h> for prototypes that are also in
<lib/libsa/stand.h>.  The alpha still needs libkern for the division
and remainder support.
1999-11-12 13:11:40 +00:00
mycroft 336e3613c3 Kill wsmux. DIE DIE DIE! 1999-11-08 06:17:42 +00:00
mycroft fb17cb2665 Disable wsmux for now. 1999-11-08 04:50:30 +00:00
mhitch 8008907a4c && doesn't work very well for testing a flag - tcds_params() was always using
the baseboard ID and FAST settings instead of getting them from the TC option
card EEPROM.
1999-11-08 03:00:32 +00:00
chs f1c14a8b5d in copystr(), be sure to return an error if maxlen == 0. 1999-11-07 17:01:20 +00:00
mrg defe7bd119 make this compile without DEC_3000_300 1999-11-07 09:14:34 +00:00
mycroft f991846760 Make this a little more current. 1999-11-07 01:04:59 +00:00
thorpej 803d0b1a4b Add some missing Ethernet cards: rl, ti (not in INSTALL), sip, tlp. 1999-11-05 21:30:21 +00:00
thorpej 06a4c7fe53 Allow rd/line, rd/mult, and wr/inval. 1999-11-04 19:15:22 +00:00
thorpej a3759d67fe Don't do rd/line, rd/mult, or wr/inval on the buggy Miata 1's. 1999-11-04 19:11:51 +00:00
thorpej 1825cdf45b Tell the PCI layer that Memory Read Line, Memory Read Multiple, and
Memory Write and Invalidate are okay PCI commands to use.
1999-11-04 01:02:38 +00:00
thorpej 3b8a1e5d8c Implement PT page stealing for extreme low memory conditions. This
has the side-effect of eliminating a locking protocol error in some
memory-desperation code in pmap_physpage_alloc().
1999-11-02 18:09:31 +00:00
thorpej b03d459244 From Ross Harvey:
- Fix a bug where IPL wasn't being lowered to process SIRs, which
  effectively caused them to be processed at splserial(), and loop
  over the ssir, like we do for astpending.
- Optimize the flow of exception_return().
1999-11-01 22:41:55 +00:00
thorpej f3055da377 Simple little speed hack in pmap_is_referenced()/pmap_is_modified(): don't
need to have the pv_head lock in order to test the REFERENCED or MODIFIED
attribute; the load of `pvh_attrs' is atomic.
1999-11-01 20:25:39 +00:00
thorpej 79a1245dbb - Fix a case where we weren't acquiring the pv_head lock when modifying
the page attributes in pmap_enter().
- It's no longer necessary (and hasn't been for a while in this pmap) to
  go to splimp() to use the physical->virtual table, so remove all such
  uses.
1999-11-01 20:18:25 +00:00
thorpej 6bb1df8224 Fix a race condition in AST processing described by Andrew Gallatin on
the freebsd-alpha mailing list which basically boiled down to increasing
stack depth due to lowering the IPL before checking for an AST.

This changes AST processing to do basically what the i386 port does (as
described by Charles Hannum):

 check_ast:
        if (astpending) {
                lower IPL
                process AST
                raise IPL
                goto check_ast
        }
1999-11-01 19:59:58 +00:00
nisimura f476de66fe Use an MI routine in ioasic_subr.c. 1999-10-27 10:16:00 +00:00
kleink 522cbf0248 Update to match new SVR4-style definition names in <sys/exec_elf.h>. 1999-10-25 13:55:06 +00:00
jdolecek 7f589dba84 rename the MD Debugger() to cpu_Debugger()
add MI Debugger() which switches to console if wscons is used prior
to calling cpu_Debugger()
1999-10-12 17:08:56 +00:00
sato 6afd48d017 fix typo about checking RB_POWERDOWN. 1999-10-07 22:15:22 +00:00
hubertf 467dda98ab Sync usage with the manpage (add -s) 1999-10-05 03:18:32 +00:00
ross b18cdd3e4e Add transition-flag -S, to regenerate alpha/sparc harmonized checksums. 1999-10-04 21:22:15 +00:00
ross 9648d2fcd6 Merge from my i386 source tree: make this build on i386 (and others) 1999-10-04 19:23:19 +00:00
ross 722e1970eb Completely replace the logic used for sparc/alpha checksum harmonization. 1999-10-04 19:19:11 +00:00
nisimura 7fbac8b3cc - Remove defunct codes and arrange consistency between pmax and alpha.
- Reduce 'ioasic_base' expose.
1999-10-01 09:19:42 +00:00
kleink 7732d7348e Add missing sv(4). 1999-09-29 10:46:03 +00:00
kleink 9daa657fd9 Add eso(4). 1999-09-29 10:43:14 +00:00
ad 80aa2508fc Entries for dpt(4). 1999-09-28 23:43:07 +00:00
mhitch fd6f19b057 Correct the clock speed setting: the GPI2 bit is only for the Alpha baseboard
TCDS;  the TC option card has it's own clock.

Also don't use the TCDSF_FASTSCSI flag to clear fast mode - just rely on the
PROM environment.
1999-09-22 03:32:42 +00:00
mhitch ba734be86b Use the correct definition for the Fast Clock bit in cfg3, and set the
Fast SCSI bit used by the 53C9x chips.
1999-09-22 03:32:26 +00:00
ross add81fb25a New -s option. Arranges for the 64-bit alpha checksum to contain within it
an embedded 16-bit sparc checksum and 16-bit sparc magic number.
See also: rev 1.16
1999-09-19 04:54:57 +00:00
ross 9ff31ad0f5 New option: -s
.
Makes the 64-bit alpha checksum magically contain an embedded 16-bit
Sun (NetBSD/sparc) compatible magic number and checksum. This is the
last piece in the "boot one disk from alpha, sun, and i386" problem.
.
And for those who told me this had been done before, :-P.  It turns out,
it was only done in the collective sense by multi-disk distributions.
1999-09-19 03:19:00 +00:00
thorpej 11cae42531 Centralize the declaration and clearing of `cold'. 1999-09-17 19:59:35 +00:00
thorpej 3b01d1b872 Rename the machine-dependent autoconfiguration entry point `cpu_configure()',
and rename config_init() to configure() and call cpu_configure() from there.
1999-09-15 18:10:33 +00:00
chs f3a668ed84 eliminate the PMAP_NEW option by making it required for all ports.
ports which previously had no support for PMAP_NEW now implement
the pmap_k* interfaces as wrappers around the non-k versions.
1999-09-12 01:16:55 +00:00
ross f468c5f199 This is required by libsa/loadfile.c. 1999-09-10 07:33:57 +00:00
ross e66e48676c Nuke the alpha ecoff/elf bootloader and use the libsa/ one instead. 1999-09-10 07:31:16 +00:00
augustss 14b98cd440 Add uaudio driver. 1999-09-09 12:33:43 +00:00
sommerfeld 745de28592 Patch time_precision so we report a realistic NTP "precision" value to userland. 1999-09-06 21:54:17 +00:00
ross dc7ca6a110 Don't get confused when pci function != 0. 1999-09-02 22:04:41 +00:00
sommerfeld 0ec90c839f resync supported mii phy's with GENERIC 1999-09-01 03:10:04 +00:00
thorpej b99d7572d6 Add some missing usb glue. 1999-09-01 00:05:01 +00:00
thorpej c068ef8152 Add `umass'. 1999-08-29 16:55:48 +00:00
ross 52a638cbe3 Fix minor type () bug. Fall thru correctly when the minor type is not known. 1999-08-23 22:29:41 +00:00
simonb 3c185af5fd Include <sys/endian.h> after defining whether where are little- or
big-endian.  i386, pc532 and vax still include <machine/byte_swap.h>
and define macros for the {n,h}to{h,n}*() functions.  mips also
defines some endian-independent assembly-code aliases for unaligned
memory accesses.
1999-08-21 05:53:50 +00:00
simonb 06a92524c2 Include <sys/bswap.h> for function prototypes. i386, pc532 and vax
still include <machine/byte_swap.h> and define macros for some of
the bswap*() functions.
1999-08-21 05:39:51 +00:00
mjacob 9ed023d94e remove LIMITMEM code because it does not work anyway anymore 1999-08-19 21:31:43 +00:00
cgd b18820272a add bootxx_lfs 1999-08-18 21:34:24 +00:00
cgd a97b5505e4 add lfs support 1999-08-18 21:34:11 +00:00
cgd 82729b7302 add a makefile for an LFS primary 1999-08-18 20:02:39 +00:00
cgd 30d5d8a1e3 mention that putstr.c and putulong.c might want to be included when debugging 1999-08-18 20:01:06 +00:00
cgd b28ae57077 add a gross putulong() function which can be useful for debugging.
It's not normally included.
1999-08-18 20:00:27 +00:00
thorpej 0f7db9c21c Now that we have read/write spin locks, use them for the pmap_main_lock. 1999-08-17 18:48:22 +00:00
augustss db574ba708 Add umodem device. 1999-08-16 22:27:08 +00:00
thorpej 95755c54bb Pull in <machine/alpha_cpu.h>. 1999-08-16 06:24:07 +00:00
simonb 299578ebd5 Spell "privilege" correctly (correct spelling from Jonathan Stone). 1999-08-16 02:59:22 +00:00
thorpej f06d918d30 Protect userland from the vast majority of this file. 1999-08-15 18:32:51 +00:00
ross 4ed22602e7 In pmap_page_protect(), don't (try to) use the pv_entry_t we just
freed in order to find the pmap to unlock.
1999-08-14 06:19:49 +00:00
thorpej 6be04b7f5c Move cpu_info and related info into <machine/cpu.h>, and implement the
other MP API components discussed on tech-smp.
1999-08-10 23:35:43 +00:00
thorpej 28fb7c1eb8 Define cpu_number() as discussed on tech-smp. 1999-08-10 21:08:05 +00:00
thorpej b701be7c86 Use atomic operations to manipulate the SSIR, and fix a problem introduced
with the spllowersoftclock() changes where more interrupts than necessary
were blocked while software interrupts were being processed.
1999-08-10 18:53:03 +00:00
ross 70fad30289 In the kludges-on-top-of-kludges dept, print SWITCHING TO SERIAL CONSOLE
(but iff we started on the framebuffer) so the would-be installer doesn't
think everything just locked up.
1999-08-08 01:44:57 +00:00
ross c85f77e109 ifndef NEW_SCC_DRIVER, tell sccattach() if we are on a fb or serial cons 1999-08-08 01:40:20 +00:00
drochner f6f48ed7e7 clean up error handling in TC graphics console attachment: all functions
return 0 on success and an errno on failure
1999-08-07 12:58:27 +00:00
thorpej 333c98b6e2 Add the AdvanSys SCSI boards. 1999-08-07 07:40:40 +00:00
thorpej eb20bbc780 Change the semantics of splsoftclock() to be like other spl*() functions,
that is priority is rasied.  Add a new spllowersoftclock() to provide the
atomic drop-to-softclock semantics that the old splsoftclock() provided,
and update calls accordingly.

This fixes a problem with using the "rnd" pseudo-device from within
interrupt context to extract random data (e.g. from within the softnet
interrupt) where doing so would incorrectly unblock interrupts (causing
all sorts of lossage).

XXX 4 platforms do not have priority-raising capability: newsmips, sparc,
XXX sparc64, and VAX.  This platforms still have this bug until their
XXX spl*() functions are fixed.
1999-08-05 18:08:08 +00:00
jdolecek 836c862c38 add file-system NTFS, commented out and marked as experimental 1999-08-05 15:51:36 +00:00
nisimura cb6ed03a59 - Replace device node names of zskbd/zsms into lkkbd/vsms, respectively.
No functionality was changed at this moment.
- Apply recent changes in GENERIC to TCWSCONS.
1999-08-04 07:17:50 +00:00
nisimura 50eca69f4e - A minimal patch work to make TCWSCONS useful with sfb/zskbd. 1999-08-03 05:30:56 +00:00
ross 02140cb46f Fix the 16-bytes-of-death bug by generating specific-EOI cycles during
sio_intr_setup().
1999-07-30 20:33:43 +00:00
augustss f641c4b3b6 Make two wsmux pseudo devices and add mux locators. 1999-07-29 19:36:58 +00:00
augustss 3652732791 Add wsmux device.
(Also add lots of missing chrtoblktbl[] entries.)
1999-07-29 19:14:35 +00:00
augustss a7cd454b1d It's time to be COMPAT_14. 1999-07-29 10:37:12 +00:00
thorpej 0f0a99bb48 Make sure that pmap == pmap_kernel() when skipping pager mappings. 1999-07-28 23:23:46 +00:00
thorpej c1ee8f0a8c Prepend `cpu_' to the machine-dependent atomic locking primitivies. 1999-07-27 21:45:39 +00:00
cgd f886376518 be more efficient when doing the SYSTEM_LD_TAIL for -g kernels: don't
copy them just to strip them, use strip -o.
1999-07-26 05:20:44 +00:00
ross 4d11d63612 Fix off-by-one comparison. 1999-07-12 07:37:14 +00:00
ross a8000e244c New signature for console_restart(). 1999-07-11 22:39:21 +00:00
ross 0f9e004fe3 Rewrite of console_restart() with constructed trapframe.
Extract various state elements from the per-cpu-slot in hwrpb.
1999-07-11 22:37:12 +00:00
ross f9e083d969 * Set up a trapframe before calling console_restart(), and just pass it the
frame instead of a selection from the saved state.
* new macros:   bfalse reg, dst		/* "beq" */
		btrue reg, dst		/* "bne" */
1999-07-11 22:35:28 +00:00
ross 6eb6441a68 * Big rototill: cleanup, reorganize, redo some things...
* New features:
	+ traceback for threads (i.e., pids):  db>trace/t 0t<pid>
	+ traceback over console restart (halt and SRM continue)
	+ print ipl in trapframes when it's known and it changed
	+ print emulation and system call entry name (!) if proc is known
	   --- syscall (240, netbsd.sys_nanosleep) ---
1999-07-11 22:28:15 +00:00
thorpej 0945bf58b0 Add examples for including the kernel crypto bits from either crypto-us
or crypto-intl, commented out, with instructions to use only one, and
adjust the prefix as necessary.
1999-07-09 18:55:33 +00:00
mrg ecdad0ec33 clean up a bit after jason :)
- fix emitrules() like emitfiles() to deal with the prefix (otherwise it
  would attempt to find the file in the normal base for the NORMAL_C rule).
- add emitincludes() which adds include directives for each prefix to the
  $INCLUDES variable in the makefile.
- add %INCLUDES to each Makefile.arch to deal with the above.

this makes "prefix" actually work in a usable manner, and now i can move
on to fixing compiler warnings (errors) in the ESP code. :)
1999-07-09 09:52:55 +00:00
thorpej 3ebbe095e0 Change the pmap_extract() interface to:
boolean_t pmap_extract(pmap_t, vaddr_t, paddr_t *);
This makes it possible for the pmap to map physical address 0.
1999-07-08 18:05:21 +00:00