Commit Graph

2141 Commits

Author SHA1 Message Date
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