chuck
3a1fcc746e
MNN is now the only option possible
1999-01-16 20:04:22 +00:00
thorpej
8922647c58
Some minor, mostly costmetic, changes to CPPFLAGS/CFLAGS.
1999-01-15 23:37:05 +00:00
bouyer
dc306354b0
Move the bswap functions from libutil to libc (this bups the
...
minor of libc and the major of libutil). For little-endian architectures
merge the bnswap() assembly versions with nto* and hton* using symbols
aliasing. Use symbol renaming for the bswap function in this case to avoid
namespace pollution.
Declare bswap* in machine/bswap.h, not machine/endian.h. For little-endian
machines, common code for inline macros go in machine/byte_swap.h
Sync libkern with libc.
Adjust #include in kernel sources for machine/bswap.h.
1999-01-15 13:31:15 +00:00
drochner
35eeb3f1cd
remove dummy "load_font" entries
1999-01-11 21:54:22 +00:00
nathanw
d2f4d39a08
wskbd, not wskbs.
1999-01-10 22:51:46 +00:00
mjacob
b7a8ca1386
For some reason (I don't know why nobody else has seen this)
...
egcs-2.91.57 didn't like the void * subtraction on line 904.
I'll risk everyone's wrath by casting around it.
1999-01-10 03:16:21 +00:00
thorpej
e598335d1c
Garbage-collect `mbutl'.
1999-01-09 22:10:12 +00:00
augustss
fc5f9ee81d
Add -Wpointer-arith warning since `void *' arithmetic is not ANSI C.
1999-01-08 19:26:12 +00:00
thorpej
cd93f8dfc9
- Add adv and adw SCSI controllers, commented out, as they do not yet
...
work.
- Add USB stuff.
- Add new pcscp SCSI driver.
- Comment out wss driver, as the configuration listed hangs some systems
cold.
1999-01-06 23:42:27 +00:00
ross
509315b9e0
We don't call prom_open() here anymore, so don't call prom_close() either!
1998-12-28 09:12:52 +00:00
thorpej
3bd57bb34b
Correct a panic message.
1998-12-18 19:52:11 +00:00
augustss
e481435c53
Add sv driver.
1998-12-10 19:01:41 +00:00
augustss
8398f3a4db
Add ugen, a generic USB driver.
1998-12-08 15:52:31 +00:00
thorpej
7fa243e59e
Pass the symbol table size, like a.out.
1998-12-04 20:22:36 +00:00
ross
33038ca087
Tweak this so it will build and run on ILP32 hosts, anyway, 0x...LL constants
...
are blessed by the C9X draft.
1998-12-03 04:16:18 +00:00
thorpej
a6f7e0c05a
Implement WARN_REFERENCES().
1998-12-02 00:58:42 +00:00
thorpej
11f3c29221
Add USB devices.
1998-11-29 06:57:46 +00:00
thorpej
958666b11a
Oops, restore pcb_onfault if a fault occures in kcopy(). Pointed out by
...
Charles Hannum.
1998-11-26 20:26:52 +00:00
pk
4dc534f05d
Export the `pcmciabus' attribute on the `pcic' controller.
1998-11-26 15:35:58 +00:00
ross
8bc9c17338
Disable sanity checks and unnecessary setup for conblock (-b) mode.
1998-11-25 21:19:35 +00:00
hwr
59acb69be1
Add (commented out) 'gre' pseudo device line. Feedback is welcome.
...
Inspired by Klaus Klein.
1998-11-25 20:30:44 +00:00
mjacob
6b12feab6d
add missing include file
1998-11-25 19:58:47 +00:00
tv
182b5b1d68
Sync with various options in GENERIC that were not added/changed here.
1998-11-25 18:37:48 +00:00
tv
e7f7d54046
The wss driver does work (AS200/233 uses it). Uncomment.
1998-11-25 18:37:27 +00:00
kml
ba30effcf8
Changes to support a HIPPI Framing Protocol device, which allows raw
...
HIPPI packets to be written without having to go through the network
stack.
1998-11-20 04:12:57 +00:00
ross
8d957efade
Sigh, shuffle the nsio ide frobber yet again.
1998-11-20 03:58:22 +00:00
thorpej
5f0577babc
Adapt to the new scsipi_adapter interface.
1998-11-19 21:43:00 +00:00
mrg
db3051d720
fix problems in many d_mmap routines:
...
- returned EOPNOTSUPP rather than -1.
- no check for negative offset.
many of these fix potential security problems in these drivers.
XXX XXX XXX
the d_mmap cdev routine should be changed to have a prototype like:
paddr_t (*d_mmap) __P((dev_t, off_t, int));
by someone!
1998-11-19 15:38:20 +00:00
ross
3f24fce866
More include shuffling.
1998-11-19 02:53:47 +00:00
ross
b0f44850f5
Don't insist on an FFS if we are in contiguous block (-b) mode.
1998-11-19 02:44:40 +00:00
ross
d963824bdc
#include <machine/intrcnt.h>
1998-11-19 02:35:39 +00:00
ross
bc9cb58205
Fix interrupt map for baseboard bridge.
1998-11-19 02:33:37 +00:00
ross
47c613e7dd
#include <machine/alpha.h>
1998-11-19 02:29:49 +00:00
ross
4ea2865631
+#include <machine/alpha.h>
...
+#include <machine/intrcnt.h>
Also, this module gets the junk I/O IDE channel frobber that used to
be in dec_axppci_33.c, so it can be called for the eb64plus also.
1998-11-19 02:28:56 +00:00
ross
372977cf54
Nuke the final holdout of INTRNAMES_DEFINITION.
...
Do a nice gas.new .rept/.endr loop and also pad each string with spaces
in case a platform actually does want to rewrite the names.
G/C some EVCNT_COUNTERS stuff.
1998-11-19 02:27:29 +00:00
ross
b9fa3646cb
#include <machine/intrcnt.h>
...
#include <machine/alpha.h>
g/c some EVCNT_COUNTERS stuff.
1998-11-19 02:23:15 +00:00
ross
c6c1b0098f
#include <machine/alpha.h>
1998-11-19 02:22:01 +00:00
ross
ee226b43f1
Include <machine/alpha.h> and do not directly include <bus.h>
1998-11-19 02:20:07 +00:00
ross
7221bd8229
+#include <machine/alpha.h>
...
-#include <machine/bus.h> (done for you by alpha.h)
Take the junk I/O chip IDE channel frobber and move it to machdep.c.
1998-11-19 02:05:07 +00:00
ross
d3509bcc51
Clarify the 1000/1000A situation: two variation tables and an all-purpose
...
backup platform.family string.
1998-11-19 02:02:45 +00:00
ross
9b7ad6c70c
#include <machine/alpha.h>
1998-11-19 01:59:39 +00:00
ross
8470625657
New module to hold the alpha-specific prototypes that don't need to be
...
exported to the MI kernel. Almost everything here was formerly in cpu.h.
Optionally, this module could in the future be used to #include anything
that is always needed by arch/alpha modules.
1998-11-19 01:57:56 +00:00
ross
19a4c3110c
Rip out 70 lines of (all of) the port-alpha-specific decls and prototypes.
...
They should not be visible to the MI kernel and the MI kernel shouldn't
depend on this junk. Most of it moves to new module <machine/alpha.h>.
Leave badaddr() here, though, because it's used so widely.
1998-11-19 01:51:40 +00:00
ross
e2e3ee52ae
Nuke the giant ugly-as-sin per-platform INTRNAMES masterpiece.
...
I just cannot add one more platform without getting sick.
Instead, we do just one table for all platforms. More-or-less,
it was only the A12 that even named it's individual interrupts anyway.
Also, prototype set_iointr() here. It's a slightly odd place, but 10*
better than the old place it was, and this file is included by exactly
the perfect set of .c files for set_iointr() visibility.
1998-11-19 01:48:04 +00:00
ross
a68dbb068a
Stop including <machine/alpha_cpu.h>; we already export <machine/cpu.h>.
1998-11-19 01:42:37 +00:00
ross
da8b1017f4
"extern struct rpb *hwrpb" belongs here (duhhh)
1998-11-19 01:41:36 +00:00
oster
cf5710c839
Added a (commented out) configuration line for the RAIDframe device driver.
1998-11-16 16:44:55 +00:00
oster
c74d32c5fc
Updating of bdev's and cdev's to support RAIDframe.
1998-11-13 04:47:03 +00:00
mjacob
c0782a3653
more printf cleanups
1998-11-11 21:40:38 +00:00
thorpej
49c62c4336
Changes to support fork_kthread():
...
- cpu_set_kpc() now takes void *arg third argument, passed to the
entry point.
- cpu_fork() allows parent to be non-curproc iff parent is proc0.
When forking non-curproc, assume its state has already been saved.
- Adjust various pieces of machine-dependent code to account of all of this.
1998-11-11 06:41:23 +00:00
chs
61458d7dfa
LOCKDEBUG enhancements for non-MP:
...
keep a list of locked locks.
use this to print where the lock was locked
when we either go to sleep with a lock held
or try to free a locked lock.
1998-11-04 06:19:55 +00:00
fvdl
42921bd66d
Add the ex driver.
1998-11-04 00:40:03 +00:00
ross
cee6f4a531
Implement the new BUFCACHE option.
1998-11-02 04:43:23 +00:00
mjacob
3bcd2ef84d
fix botched printout format
1998-11-01 00:03:08 +00:00
mjacob
82b48f66b6
If NSIO not defined, compile errors.
1998-10-31 23:51:05 +00:00
briggs
67be755f17
DTRT if sfb is not configured in the kernel.
1998-10-23 23:49:31 +00:00
briggs
2db4e51dad
Kernel config for wscons/serial console support for TC alphas, based on
...
GENERIC. This can go away when NEW_SCC_DRIVER hits prime-time.
1998-10-22 01:05:36 +00:00
briggs
ab9470909c
Preliminary support for both serial consoles and kbd/display wscons
...
consoles for TC alphas. Based on code from Takuya Koumoto
<takuya-k@is.aist-nara.ac.jp> as well as some parts of Toru Nishimura's
and Matthias Drochner's work on pmax wscons. This relies on the
NEW_SCC_DRIVER.
1998-10-22 01:03:07 +00:00
tron
b296275bb4
Defopt SYSVMSG, SYSVSEM and SYSVSHM.
1998-10-19 22:09:13 +00:00
briggs
ba0625f1f5
vm_offset_t no longer exists. Change to paddr_t, vaddr_t, and psize_t.
1998-10-19 00:32:44 +00:00
ross
3707ad314c
History. INSTALL is now used on the floppy set and combo CD/HD/tape image.
1998-10-16 00:15:15 +00:00
drochner
5bdff43727
Initialize default disklabel properly: Whole disk is RAW_PART, not 'a'.
1998-10-15 19:08:33 +00:00
drochner
2468738337
change handling of libkern:
...
-sys/lib/libkern builds as library per default (as it was documented all
the time)
-ports able to LKM set "KERN_AS=obj" explicitely in their Makefiles
(for now; should depend on actual "option LKM" or -better- functions
included for LKM use should be pulled in by a stub)
-always link libcompat before libkern - libkern stuff can be referred to
by libcompat, but not the other way
1998-10-15 18:37:13 +00:00
ross
3e35915bc3
Don't use big 16K blocks for the -b contiguous secondary boot installation.
...
It leads to confusion about where the end of the image is on tape boots.
1998-10-15 01:05:20 +00:00
ross
16bf3552bb
Save a0 during bss clear.
1998-10-15 01:02:55 +00:00
ross
9f7ca48f3b
Delete prom_open() wrapper routine. Other clients of prom_open
...
can use the prom.h dispatch macros instead, especially since they
all presently expect the raw return bits.
1998-10-15 01:02:15 +00:00
ross
c84b7f501e
Delete bogus prom_open() prototype.
1998-10-15 01:00:56 +00:00
ross
412f6ae85b
Grab booted_dev_fd parameter from bootxx. It won't be there for netboot
...
but there should be no harm done.
1998-10-15 01:00:07 +00:00
ross
6336abe01a
const'ify
1998-10-15 00:56:56 +00:00
ross
df51a43618
Rototill the primary boot for...
...
1. much faster speed
2. support of more media types
1998-10-15 00:55:48 +00:00
ross
c33589db84
Consult osrelease.sh and pass down NETBSD_VERS
1998-10-15 00:52:38 +00:00
ross
74f36b2497
Try the ustarfs open first...it's the only one that can't necessarily
...
seek. We might be reading a tape and the extra superblock reads will
eat up tape records.
1998-10-15 00:51:22 +00:00
ross
9c29657a67
Extern def for raw prom disk file descriptor.
1998-10-15 00:49:34 +00:00
ross
b0367fb980
Don't actually do the raw prom open here.
1998-10-15 00:48:55 +00:00
ross
8447dd624c
1. STANDALONE -> _STANDALONE
...
2. Key raw prom interfaces defes on ENABLEPROM
3. Define the prom "ioctl" magtape functions.
1998-10-15 00:47:28 +00:00
ross
d4e2b18bb1
Define ENABLEPROM, which turns on the raw prom interface defs.
1998-10-15 00:45:52 +00:00
matt
495a4bdb2c
Sync with new IDE support (e.g. pciide changes)
1998-10-14 18:31:34 +00:00
matt
f8e4127109
Remove pciide definitions in files.alpha since they are now in files.pci
1998-10-14 18:00:11 +00:00
kleink
cee25f5a9c
Since libc is not ready for enabling weak symbol support yet, disable the
...
WEAK_ALIAS() macro for now (like cdefs.h).
1998-10-13 11:39:26 +00:00
thorpej
908cdfe4e3
Add scsibus entry points to the cdevsw[].
1998-10-10 02:00:49 +00:00
thorpej
29d472f53d
Garbage-collect the open_target_lu and close_target_lu entry points from
...
struct scsipi_adapter; they were not used.
Add a scsipi_ioctl entry point to struct scsipi_adapter. This will be
used to issue ioctl commands to the host adapters.
Inspired by PR #6090 , from Matt Jacob.
1998-10-10 00:28:28 +00:00
ross
b6553585ab
g/c leftover `{' in #if notdef; it confuses ctags(1)
1998-10-07 19:09:53 +00:00
thorpej
b38544d99e
Oops, back out a buglet I didn't intend to commit in the last change.
1998-10-07 18:29:26 +00:00
thorpej
abaeca8063
Move the calls to hwrpb_restart_setup() and cpu_run_spinup_queue() to the
...
end of configure().
1998-10-06 21:19:05 +00:00
thorpej
2038eb830c
Split hwrpb_restart_setup(), putting the code that initializes the vtpb
...
and primary hwpcb into hwrpb_primary_init(). Call the latter before
performing autoconfiguration().
1998-10-06 21:10:46 +00:00
thorpej
d681cf055a
configure() prototype is in <sys/device.h>
1998-10-06 20:50:15 +00:00
ross
ddde128de9
Track compat/linux/arch/* reorg.
1998-10-05 05:55:35 +00:00
ross
b9fef4b8ad
The 2-disk install floppy allows us to add:
...
* 3000-series CPU support, plus all the tc devices
* 4100-series CPU support
* misc SCSI HBA support (removed earlier for space reasons)
1998-10-05 05:04:46 +00:00
matt
4a1b880605
Add files.usb. It should work.
1998-10-05 00:49:15 +00:00
christos
c0f54daf70
Add em_alpha_exp
1998-10-03 18:17:14 +00:00
ross
78492e307a
If not MULTIPROCESSOR then identify the interrupt target cpu by hwrpb id (%d)
...
rather than attachment name, and hence avoid referencing `cpus'.
1998-10-01 22:57:30 +00:00
erh
b0367216c1
Macros to call a linux syscall.
1998-10-01 16:19:59 +00:00
erh
79a9d0776d
Add linux compat includes.
1998-10-01 16:18:53 +00:00
erh
b9e8494b1d
Add linux signal trampoline code.
1998-10-01 16:18:46 +00:00
thorpej
21adfe5c18
Oops, brain'o.
1998-09-29 23:45:25 +00:00
thorpej
16b0d8f1e4
Disable the code that halts secondary processors in cpu_reboot(). Halting
...
the secondary works, but not when called from here?! XXX!
1998-09-29 21:59:33 +00:00
thorpej
ce57c93ef5
some temporary debugging printfs in the IPI code.
1998-09-29 19:40:33 +00:00
drochner
fb345194ad
document CLOCK_COMPAT_OSF1
1998-09-29 18:25:54 +00:00
drochner
70d1e71ea0
Allow to use the RTC chip in a way compatible to OSF/1: use an offset
...
of 52 years between RTC and UNIX time.
This is controlled by "option CLOCK_COMPAT_OSF1".
1998-09-29 18:23:55 +00:00
drochner
88b626a585
make compile w/o MULTIPROCESSOR
1998-09-29 15:55:47 +00:00
thorpej
69d81d8df1
Prototype cpu_halt_secondary().
1998-09-29 07:07:36 +00:00
thorpej
30e4de5632
In cpu_reboot(), halt the secondary CPUs.
1998-09-29 07:07:09 +00:00
thorpej
1b8e855f2a
First try at a HALT interprocessor interrupt handler.
1998-09-29 07:06:02 +00:00
thorpej
94b97dce9b
CPUF_HATCHED is dead, replaced by cpus_running bitmask.
1998-09-29 07:05:30 +00:00
thorpej
99698d1a1a
- Use a bitmask for "running CPUs", rather than a flag in the softc.
...
- Add a function to halt a secondary CPU.
- Enable interrupts on secondary CPUs once they've hatched.
1998-09-29 07:04:58 +00:00
thorpej
469f020ae3
Don't process CLOCK or DEVICE interrupts if we're not the primary CPU.
1998-09-29 07:02:04 +00:00
thorpej
30ec5015b1
In exception_return(), if MULTIPROCESSOR, skip software interrupts, ASTs,
...
and floating point handling if we're not the primary CPU.
1998-09-29 07:01:16 +00:00
thorpej
392a96cc91
Define the offset of hwrpb->rpb_primary_cpu_id.
1998-09-29 06:22:09 +00:00
thorpej
183f609c83
- Do not set TLCPUMASK on non-I/O nodes. That register exists only on
...
I/O nodes. Previous code erroneously set it on CPU nodes only.
- In both the single- and multi-processor case, route all interrupts from
I/O nodes to the primary CPU, for now.
1998-09-29 04:22:36 +00:00
thorpej
4c2e179b93
PROM doens't need to be mapped to start up the secondaries, so remove some
...
dead code.
1998-09-28 22:21:13 +00:00
thorpej
9bd45385a9
Turn off some debugging printfs, and kludge around a boot block bug until
...
I can install fixed boot blocks on my MP test systems.
1998-09-28 21:50:32 +00:00
thorpej
705cac105e
Invalidate the TB and I-stream upon entry, and fix a typo in the wrkgp call.
1998-09-28 21:48:50 +00:00
thorpej
34a8ac8484
Set the primary CPU's PAL revision to the OSF/1 PAL revision after switching
...
to it, per the Green Book (pointed out by Chris Demetriou).
1998-09-28 21:21:55 +00:00
thorpej
5caecb6ae0
Fix for some EGCS warnings.
1998-09-28 21:18:55 +00:00
drochner
980b2b416f
fix PMAP_ACTIVATE_ASN_SANITY() arguments
1998-09-27 17:23:25 +00:00
thorpej
2c50ec242f
Add basic interprocessor interrupt sending and receiving code. Current
...
IPI functions: HALT, IMB, TBIA, TBIAP.
XXX HALT is not yet implemented, it's just a stub.
1998-09-26 00:03:51 +00:00
thorpej
78d445810b
Add an interprocessor interrupt bitmask to the cpu_softc, and publicize
...
the cpus[] array.
1998-09-26 00:01:17 +00:00
thorpej
1f4921edce
- Oops, forgot to initalize the cpu_softc simplelock.
...
- Add yet another debugging printf.
1998-09-26 00:00:33 +00:00
thorpej
e2aa38459c
Implement atomic quadword load-and-latch.
1998-09-25 23:59:42 +00:00
thorpej
01c75223d7
Minor style tweaks.
1998-09-25 22:06:33 +00:00
thorpej
d3ce2be01c
Don't bother printing the message from the secondary console. All it is
...
is basically the acknowledgement of the START command. Print the idle
USPACE address for now. Use the alias "apcb_backup_ksp" when setting the
backup kernel stack pointer in the secondary's boot HWPCB.
1998-09-25 03:23:50 +00:00
thorpej
57e656b2ec
The processor unique value in the PCB is used as a backup kernel stack
...
pointer when booting secondary CPUs. Add an alias for it.
1998-09-25 03:21:31 +00:00
thorpej
3ea9247ac8
GENERIC config file + MULTIPROCESSOR + some debugging stuff.
1998-09-25 00:46:09 +00:00
thorpej
fcb0203141
First-cut at code to spin up secondary processors on a multiprocessor
...
Alpha system, conditional on MULTIPROCESSOR.
NOTE: This does not yet work completely. The secondary CPU begins the
boot process, but never makes it into the cpu spinup trampoline. This
is merely a snapshot of a work-in-progress.
1998-09-24 23:28:17 +00:00
thorpej
feb1d22dcc
NCPU > 1 -> MULTIPROCESSOR
1998-09-24 23:00:43 +00:00
thorpej
3cde5f5817
Machine-dependent spin lock operations for Alpha, included if MULTIPROCESSOR
...
is specified.
1998-09-24 22:32:35 +00:00
thorpej
91a031471d
Implement atomic test-and-set for longwords (32-bit).
1998-09-24 22:22:07 +00:00
thorpej
1b04ff4897
Make prom_enter() and prom_leave() public.
1998-09-24 21:18:13 +00:00
thorpej
ba6d13d876
Use the primary CPU ID on console_restart(), not hard-coded 0.
1998-09-24 21:12:43 +00:00
ross
e43333b7e7
Move if_ade* from alpha/pci/ to alpha/a12/
1998-09-24 05:36:05 +00:00
ross
09c3723e08
Put back ahc and bha scsi HBA driver configs.
1998-09-24 05:33:41 +00:00
ross
81ea242049
Fix include path, these days a12 header files are in alpha/a12.
1998-09-24 05:32:52 +00:00
ross
ec4de2679b
Track tfs -> ustarfs change.
1998-09-24 05:23:58 +00:00
thorpej
c69dbb3c28
Actually, yes we do know what the rpb_restart entry point is used for,
...
so delete some #if 0'd code.
1998-09-24 03:39:24 +00:00
thorpej
7521c309df
When setting up the hwrpb for restarts, use the primary CPU ID from the
...
hwrpb.
1998-09-24 00:30:19 +00:00
thorpej
7df5ebc392
"Gee, there was already a function to do that."
1998-09-23 22:02:21 +00:00
thorpej
53d42701b5
Implement a function to recompute the HWRPB checksum.
1998-09-23 21:51:04 +00:00
ross
86f044d10e
Track changes elsewhere in the PCI interface.
1998-09-23 21:20:55 +00:00
ross
55714d5b34
Update for vm_offset_t, vaddr_t sweep.
1998-09-23 21:17:17 +00:00
ross
ddde99135e
A12 crossbar switch driver.
1998-09-23 21:14:58 +00:00
ross
73fdd29a64
A12 detached console tty driver and NetBSD console interface.
1998-09-23 21:14:02 +00:00
thorpej
d720002637
Fix a typo in RCS keyword.
1998-09-22 16:23:20 +00:00
thorpej
5fa16c668b
Define the inter-console communication buffer portion of the per-cpu
...
info structure.
1998-09-22 08:16:51 +00:00
ross
ec49dd71dd
Change 41 separate printf()'s into a table and 2 printf()'s.
1998-09-22 06:24:26 +00:00
thorpej
6871d2529f
Add missing mb ops.
1998-09-22 06:10:53 +00:00
thorpej
402a9210a2
Implement quadword atomic test-and-set.
1998-09-22 05:56:52 +00:00
ross
5b01d45ac4
Add a `-b #' option and logic for locating the secondary boot image via
...
an absolute block address. It's cheating, as the motivation is support for
the libsa ustar tfs `filesystem' and the solution symmetrical to ufs and
cd9660 would have been to teach installboot about tfs. However, it still
would have been different as you can't mount a tfs with the kernel, and
this option gets possibly useful support for any contiguous format, even
completely raw boot images.
1998-09-22 05:03:36 +00:00
thorpej
e10cc7910d
Add some support for multiple processors to the pmap module. Still left
...
to do: TLB shootdown code, but that will be much easier to write once
the code to spin up the additional CPUs is working.
1998-09-22 03:58:10 +00:00
ross
5fb9c16f05
While we are here in alpha/stand, bail out on ^C during boot.
1998-09-22 00:41:13 +00:00
ross
10da0cf1c3
Add fs_ops to file_system[] for the ustar-format `tfs'.
1998-09-22 00:39:31 +00:00
thorpej
2671c2fa42
Make bus_dmamap_load_uio() work, from Kevin Lahey <kml@nas.nasa.gov>.
1998-09-21 22:51:56 +00:00
matt
ad921921e4
Add softserial to the alpha port. This significantly improved PPP
...
throughput on com ports.
1998-09-21 00:33:16 +00:00
thorpej
47ca861322
Nuke some unneeded debugging code.
1998-09-20 18:54:03 +00:00
thorpej
3eaeeb5357
Add definitions for the maximum allowable `whami' procssor ID and the
...
maximum number of processors we'll allow (64, assuming procssor IDs start
at 0).
1998-09-20 18:28:50 +00:00
thorpej
a4a356f9a6
Need 83 longs for a jmp_buf now.
1998-09-14 06:07:29 +00:00
mycroft
fa31b94af9
Fix omission in previous; remember to record that we're on the signal stack.
1998-09-13 11:57:58 +00:00
thorpej
3ddf828326
Make signal delivery work again.
1998-09-13 01:51:29 +00:00
thorpej
70e641047c
In cpu_coredump(), use MID_MACHINE rather than MID_* (whatever it expands
...
to).
1998-09-09 11:17:24 +00:00
thorpej
8abe0d6b1c
Adjust for the new "reaper" kernel thread: do not free the vmspace and
...
u-area in machine-dependent code. Instead, call exit2() to schedule
the reaper to free them for us, once it is safe to do so (i.e. we are
no longer running on the dead proc's vmspace and stack).
1998-09-09 00:07:48 +00:00
christos
449820f2ea
Assign copyright to TNF.
1998-09-05 15:28:04 +00:00
lukem
c9db84ecc9
distclean is a synonym for cleandir
1998-09-05 15:15:14 +00:00
pk
8adc8da66b
Assign my copyright to TNF.
1998-09-05 13:40:35 +00:00
enami
38cae9f204
Replace TAB just after the keyword `options' with SPACE.
1998-09-02 02:02:33 +00:00
thorpej
1df7dffd26
Nuke an unused variable.
1998-09-01 21:28:04 +00:00
ross
899f8f8851
Fix off-by-one errors in assertion in DIAGNOSTIC in pmap_remove()
1998-09-01 20:30:20 +00:00
cgd
d58173741d
kill the last remnants of __BROKEN_INDIRECT_CONFIG. (only the pica port
...
used it, and it's non-working and apparently slated for replacement.)
1998-08-31 22:28:04 +00:00
cgd
5fa7eee1ff
don't define __BUS_SPACE_COMPAT_OLDDEFS by default. As stated in
...
bus_space(9), if drivers want it (they shouldn't; easy to convert) they
can define it right before including bus.h. There's been a release since
the interfaces were (slightly) changed, and no code in the source tree
uses the old interfaces as far as I can tell.
1998-08-30 23:40:14 +00:00
cgd
3110e22945
use current bus_space interface names for barrier ops
1998-08-30 23:29:10 +00:00
thorpej
4b7b605d84
Use the "nointr" pool page allocator for pmap_pmap_pool.
1998-08-28 22:22:48 +00:00
thorpej
f369f261d1
Fix a debug printf.
1998-08-28 19:22:50 +00:00
tv
6baebf57c6
Nuke egcs warns: void main(), implicit int
1998-08-27 12:20:51 +00:00
thorpej
7cfa6e0972
Always use pmap_kremove() if removing a mapping from the kernel pmap.
1998-08-25 23:09:08 +00:00
thorpej
b42b94b608
Shave yet more translation ops from the inner loops of pmap_protect().
1998-08-25 18:21:17 +00:00
thorpej
2fa5652849
Break the code that cleans out page tables from pmap_remove_mapping() into
...
separate functions that perform the cleanout starting at the l3pt, l2pt,
or l1pt.
1998-08-25 09:00:19 +00:00
thorpej
33caa59da3
Optimize the pmap_protect() loop. Will make a similar change to pmap_remove()
...
once some changes are made to how pt pages are cleaned up.
1998-08-25 08:00:15 +00:00
thorpej
b7fb6e1711
Change pmap_changebit() to take a mask of bits to set, and a PTE mask,
...
shaving several instructions out of the inner loop.
1998-08-25 06:21:16 +00:00
thorpej
7ff538b614
Oops, use M_VMPMAP as the malloc type in pool_init().
1998-08-25 01:11:11 +00:00
thorpej
4dfff51650
Use the pool allocator to allocate pmap structures.
1998-08-25 01:09:04 +00:00
tv
b3e9be0ee3
egcs warning fixes, clean up `register'
1998-08-24 02:37:16 +00:00
thorpej
e7a551d60e
Some internal cleanup; pass a tag around, not individual arguments.
1998-08-17 20:15:55 +00:00
thorpej
c529c40718
Normalize the copyright notice on this file.
1998-08-15 20:42:25 +00:00
mycroft
129cbf95ee
Minor edit.
1998-08-15 05:16:41 +00:00
mycroft
df9baf2311
Assign copyrights to TNF.
1998-08-15 03:51:30 +00:00
thorpej
d5df55112a
vm_offset_t -> {paddr_t,vaddr_t}, vm_size_t -> vsize_t
1998-08-14 16:50:00 +00:00
thorpej
97e83f6e0b
Change the "vm_offset_t"s to "u_long"s for now; eventually, we can make
...
them vaddr_t and paddr_t, as appropriate (after scouring the RPB docs
to know which are phys and virt addresses).
1998-08-14 16:46:09 +00:00
eeh
a2dd74ed79
Merge paddr_t changes into the main branch.
1998-08-13 02:10:37 +00:00
thorpej
f3dd6e430b
Pull in files.mii
1998-08-11 18:52:52 +00:00
thorpej
cf231bf251
Adapt to MII changes.
1998-08-11 00:28:53 +00:00
drochner
dabc8eb436
Implement the 'i' flag which makes the bootloader ask for the file to
...
load (as in OSF/1).
Useful for netboot where "-file" doesn't work as needed.
1998-08-07 10:38:37 +00:00
drochner
e8564df3b9
implemt a simple "beep" device to access the ISA speaker
1998-08-07 10:26:38 +00:00
kleink
546365a27e
_POSIX_SOURCE -> _POSIX_C_SOURCE
1998-08-06 11:25:04 +00:00
thorpej
9186d2da5c
Simple instrumentation of pmap_steal_memory().
1998-08-04 22:40:17 +00:00
thorpej
bf8f319d0e
Remove some lint.
1998-08-01 21:12:32 +00:00
thorpej
8eeb95fce4
Implement pci_intr_disestablish().
1998-08-01 20:25:12 +00:00
thorpej
92fa3a68ad
In sio_intr_disestablish, also make sure that IRQs 0, 1, 8, and 13
...
default to edge-triggered, just like in the setup.
1998-08-01 19:38:29 +00:00
thorpej
0b60fda7c8
Implement sio_intr_disestablish(), and ensure that an initially-enabled
...
interrupt is never disabled and an initially-level-triggered interrupt
never becomes untyped.
1998-08-01 18:54:21 +00:00
thorpej
528dab6808
Implement alpha_shared_intr_disestablish(). Simply removes the handler
...
fromthe list, allowing the caller to manipulate the sharing type,
if appropriate.
1998-08-01 18:52:36 +00:00
mycroft
a24dbc8065
(Always) (practice) (safe) (macro expansion).
1998-07-31 15:07:41 +00:00
thorpej
9589268364
Add unused zskbd and zsms entries, and ISA PnP entry.
1998-07-31 04:38:51 +00:00
thorpej
e2ce6c8a28
Machine-dependent ISA PnP goo for NetBSD/alpha.
1998-07-31 04:38:04 +00:00
thorpej
f948e430bb
Provide a hook for bypassing space accounting, needed to support ISA PnP
...
for now.
1998-07-31 04:37:02 +00:00
thorpej
eb32016a95
Split up using BWX for PCI config and bus access. Default to using BWX for
...
the former, but not the latter. Hopefully, this will address some problems
people have been experiencing w/ some devices on Pyxis systems when BWX
is used for bus access. (If it's not used for PCI config access, we can
get fatal machine checks while probing behind PCI-PCI bridges!!)
1998-07-29 01:28:44 +00:00
thorpej
3ff8e6493a
Don't cast the null residual pointer passed to vn_rdwr().
1998-07-28 18:34:52 +00:00
thorpej
e8063e5201
Don't cast the null residual pointer passed to vn_rdwr().
1998-07-28 18:30:54 +00:00
thorpej
88a83f13de
Back out previous.
1998-07-27 18:27:08 +00:00
mjacob
6ebd8cf4e3
Comment out cs device. Kernels don't compile because there is no
...
cfattach structure found. Leave it to the author to untangle.
1998-07-27 18:02:02 +00:00
mycroft
da2e61d160
Delint.
1998-07-27 13:55:32 +00:00
thorpej
b0b64545e8
Add cs* at isa? port 0x300, wildcard IRQ and memory address, to pull
...
them from the EEPROM. Wildcard DRQ to force memory-mode operation; this
value is not available in the EEPROM and must be configured manually.
1998-07-27 01:57:56 +00:00
thorpej
2385ee5eca
Provide PMAP_{,UN}MAP_POOLPAGE().
1998-07-24 20:32:07 +00:00
is
6054d626f9
Switching dev/ic/lpt.c to use spllpt() instead of spltty(). It doesn't use
...
tty structures, and on some machines (namely the DraCo internal lpt, and some
multi-i/o boards for Amigas and DraCos), tying spltty to the pretty high printer
interupt level would hurt serial performance.
On all affected ports but Amiga, spllpt() has been defined in machine/intr.h
to be spltty(), thus preserving old behaviour. Portmasters are encouraged to
change is, if they feel something else is better (e.g., one of its own were
possible).
1998-07-18 21:27:25 +00:00
thorpej
2fc1260cc0
Implement bus_dmamap_load_uio().
1998-07-17 21:09:59 +00:00
ross
d58ad29b6c
Kill the old extern mchkinfo pointer and prototype cpu_mchkinfo().
...
This file has been collecting prototypes and other things used in the MD
code...that's bad...because this is exported to the MI kernel.
1998-07-13 19:10:14 +00:00
ross
48257ecec1
Define cpu_mchkinfo() to locate the mchkinfo struct. This is used to fix
...
the recent bug where Multias around the world have been aborting back to
SRM with no message at all as they tried to attach a TGA or VGA console,
because the old mchkinfo pointer wasn't allocated prior to use.
And contrary to widespread rumour, this bug has nothing to do with my
LCA IDE mod...that worked just fine. "Not guilty."
1998-07-13 19:07:33 +00:00
ross
0d7c1dede9
Use the new cpu_mchkinfo().
1998-07-13 18:49:34 +00:00
ross
c9e3235f35
1. Don't deref zero on early machine checks.
...
2. Revert last week's non-KNF {} editing.
1998-07-13 00:14:52 +00:00
mjacob
93ecc95d92
Fix printing of real mem. I'm going to, for right now, leave it to
...
someone else to figure out the best machine independent fashion of
fixing ptoa to handle > 32 bits.
1998-07-09 00:46:17 +00:00
thorpej
bca69afed6
Place the software PG_EXEC PTE bit into the protection array, instead
...
of OR'ing it in manually.
1998-07-08 17:30:45 +00:00
mjacob
6b092524ea
stale beer- place structure in right file
1998-07-08 17:20:42 +00:00
thorpej
a8d2213784
Define a macro that returns the mask of PALcode PTE bits that we care
...
about when determining if a TBI is necessary (i.e. the PALcode bits minus
the FOx bits, since we always track those).
1998-07-08 17:19:46 +00:00
thorpej
0792d7f3db
Define a shorthand macro that represents the mask of PTE bits that the
...
PALcode cares about.
1998-07-08 16:48:49 +00:00
thorpej
3f776dfbe2
Cosmetic change.
1998-07-08 16:46:51 +00:00
mjacob
434b3fe82b
tentative better fix for allocating the correct number of mchkinfo structs
1998-07-08 16:28:25 +00:00
mjacob
ff376fbd03
Doh! Jason caught me being really stupid. There isn't necessarily
...
a linear 0..N mapping out of alpha_cpu_whami - which is what I was
using to index the new cpu machine check array. This is a quick hack
back to just using the first element while I think of a kinder function
that will do the function (per-platform) of whami->VIRTUAL CPU ID, which
if you think about it, is really necessary anyway.
1998-07-08 05:25:40 +00:00
thorpej
1ea93eea1c
Define one page free list, and put all pages on it.
1998-07-08 04:35:23 +00:00
mjacob
638f0aab7c
Clarify comment about what nodes are being 'found' and noted for later
...
use by an error handler:
* There can be only one TurboLaser, and we'll overload it
* with a bitmap of found turbo laser nodes. Note that
* these are just the actual hard TL node IDS that we
* discover here, not the virtual IDs that get assigned
* to CPUs. During TLSB specific error handling we
* only need to know which actual TLSB slots have boards
* in them (irrespective of how many CPUs they have).
1998-07-08 01:03:41 +00:00
mjacob
a5e7f763c2
minor tweak, and example of how to do error insertion
1998-07-08 00:58:09 +00:00
mjacob
73c269fe20
attempt to catch some stuff for ev5 module info
1998-07-08 00:56:39 +00:00
mjacob
9f1070514c
First (prelim placeholder) pass at machine check handler for tlsb
1998-07-08 00:49:06 +00:00
mjacob
adf058f0f7
There can only be one TurboLaser node, and now we'll overload
...
into the integer tlsb_found a bit map of found nodes and export
it to the rest of the kernel. This is so that at machine check
time when we're doing some TLSB/KFTXX error handling we don't
have to attempt a badaddr to look at all TLSB nodes (which will
just be too sad to try...).
1998-07-08 00:47:53 +00:00
mjacob
de4f340241
add some error handling specific definitions
1998-07-08 00:45:52 +00:00
mjacob
84076832df
add some more offset definitions
1998-07-08 00:45:08 +00:00
mjacob
6f87cdce00
Start of the platform specific (RAWHIDE) machine check handler. This
...
is not really needed for this platform, except that we might want to
handle PCI errors which get reported through here. In any case, this
prints out more info than is usual. Will probably need to detune
this to be based upon DIAGNOSTIC defines.
1998-07-08 00:44:32 +00:00
mjacob
57190a7be7
use new mchkinfo structures for expect/recv storage
1998-07-08 00:42:14 +00:00
mjacob
9035e8b3eb
Move the search for number of cpus up earlier because we need to know
...
how many cpus there are when we (now) valloc per-cpu machine check
structures.
1998-07-08 00:41:32 +00:00
mjacob
275fb86f8d
add some error handling definitions
1998-07-08 00:40:18 +00:00
mjacob
35ffe8edb3
Add machine check type definitions. Structure the expected/received
...
machine check items.
1998-07-08 00:39:02 +00:00
mjacob
dfe345a444
common logout structure definitions, or a start thereof
1998-07-08 00:36:18 +00:00
mjacob
9c326571d3
add a common logout printing routine file
1998-07-08 00:34:49 +00:00
mjacob
163f4f10b1
add common logout printing routine file
1998-07-08 00:34:27 +00:00
thorpej
de83dce0de
On second thought, call that like the rest of the shared intr functions.
1998-07-07 22:24:38 +00:00
thorpej
c7f8d02b23
Always count the number of strays we encounter, but don't send a "stopped
...
logging" message if we're ignoring strays.
1998-07-07 22:06:29 +00:00
thorpej
1ddd528346
Fix typi.
1998-07-07 22:02:57 +00:00
thorpej
e82fc7d3cd
The Pyxis core logic in the 164SX and 164LX seems to have problems with
...
stray interrupts. Do what Digital UNIX (formerly DEC OSF/1) does; just
ignore strays.
1998-07-07 21:49:47 +00:00
thorpej
ca73507d0b
The Pyxis core logic in the Miata seems to have problems with stray interrupts.
...
Do what Digital UNIX (formerly DEC OSF/1) does; just ignore strays.
1998-07-07 21:47:49 +00:00
thorpej
be83de18fd
Use ALPHA_SHARED_INTR_DISABLE() to test if a shared interrupt should
...
be disabled after a stray.
1998-07-07 21:44:57 +00:00
thorpej
443d238f70
Define a macro to test if a shared interrupt should be disabled after
...
a stray has occurred.
1998-07-07 21:37:11 +00:00
ross
dbd55159a2
Teach dec_axppci_33_init() a little about the nsio config registers,
...
enable the nsio IDE, and leave the config register ISA ports mapped.
1998-07-07 08:49:12 +00:00
jonathan
b37021c1a1
defopt NATM.
1998-07-05 22:48:05 +00:00
jonathan
011f2bda08
defopt NS, NSIP.
1998-07-05 06:49:00 +00:00
jonathan
5c0c5dd0b4
defopt ISO TPIP.
1998-07-05 04:37:35 +00:00
jonathan
8db0fcdbf7
defopt CCITT.
1998-07-05 02:12:22 +00:00
jonathan
3751946b97
defopt INET, NETATALK.
1998-07-05 00:51:04 +00:00
jonathan
466e784ee1
defopt DDB.
1998-07-04 22:18:13 +00:00
thorpej
8978015d51
Mark the kernel pmap `active' in pmap_bootstrap().
1998-07-03 05:22:10 +00:00
mjacob
efee8aedfa
If GENERIC has SCSIVERBOSE on, having it off here makes no sense
1998-07-02 23:36:59 +00:00
ross
7897fc307b
Add support for:
...
DEC_1000
DEC_1000A
DEC_ALPHABOOK1
DEC_EB66
Remove support (ran out of space) for: ahc and bha. SCSI must be ncr or isp.
This will be fixed soon by defining an optional, two-floppy install
alternative.
1998-07-01 09:14:02 +00:00
drochner
9a04d7d9f2
adapt to wscons interface change
1998-06-30 09:02:08 +00:00
thorpej
02b767eee5
Take a stab at EB66 support. An EB66 is basically an EB64+ with a
...
21066 LCA instead of a 21064 + APECS.
1998-06-27 10:10:51 +00:00
thorpej
dff0b84aba
Oops, forgot option header.
1998-06-27 08:59:03 +00:00
ross
50604bf85b
Kill off some EVCNT_COUNTERS calls, since [A] it has to be rewritten anyway
...
before it can be useful, and [B] #ifdefs do not belong at every call site,
a common API should be defined and the implementations conditionalized, not
the calls. Duhh.
Also, remove the initial XXX mystery_icu debugging code.
1998-06-26 21:59:46 +00:00
ross
e5e9adb326
Note ST_DEC_1000 as PCI/EISA.
1998-06-26 21:55:38 +00:00
ross
e31a396c68
Add AlphaServer 1000 interrupts.
1998-06-26 21:55:09 +00:00
ross
843dd2d279
Add DEC_1000 support for new Mikasa[/Pinnacle] platform.
...
INSTALL-FLOPPY will have to wait; it needs attention w.r.t. size.
1998-06-26 21:53:10 +00:00
ross
0ce5563488
Turn on ST_DEC_1000, but reuse the 1000a init and console routines.
1998-06-26 21:49:25 +00:00
ross
a0f70c580c
New platforms: Mikasa and Mikasa/Pinnacle, aka Pinkasa.
...
Like the 1000A, the AlphaServer 1000 has a daughtercard assembly that
integrates the CPU and core logic, so these can be ev4/apecs or ev5/cia.
New systype, and, sigh, another way of doing interrupts and another
mystery icu.
Kill off some EVCNT_COUNTERS calls, since [A] it has to be rewritten anyway
before it can be useful, and [B] #ifdefs do not belong at every call site,
a common API should be defined and the implementations conditionalized, not
all the calls. Duhh.
1998-06-26 21:45:56 +00:00
thorpej
0131c651bd
Add DEC_1000A, per GENERIC.
1998-06-26 05:43:21 +00:00
thorpej
78d7f07efd
Very preliminary support for the Tadpole/DEC AlphaBook. These are basically
...
AXPpci33 machines + power management and a Cirrus PCI-PCMCIA controller.
There is currently no support for the power management facilities, and
the PCI-PCMCIA controller driver needs some work, but this should boot
and run from disk.
1998-06-26 05:42:34 +00:00
lukem
bd8d501f7e
remove options FIFO; it's now the default
1998-06-26 01:53:43 +00:00
thorpej
ac57178fc0
defopt COMPAT_OSF1
1998-06-26 00:00:41 +00:00
thorpej
971b8956ef
defopt KTRACE
1998-06-25 21:18:11 +00:00
ross
de27f1befc
Don't bother reading the ELF string table out of a stripped /netbsd[.gz].
...
In this case, all it has in it are the never-referenced printable names
for the ELF sections themselves. It's located at the end of the (ramdisk)
netbsd.gz file, so it is a very expensive seek and read for only 85 bytes.
Boot floppy load time:
before: 5 minutes
now: 3 minutes
1998-06-25 06:45:46 +00:00
ross
63e87b1a8e
New platforms: Noritake, Pintake, and Corelle. Sometimes these are ev4/apecs,
...
sometimes they are ev5/cia.
1998-06-24 01:38:59 +00:00
ross
6c1e8f5b20
Use the new LOCATE_PCS() macro.
1998-06-24 01:33:19 +00:00
ross
49d5ae18ba
Call pci_1000a_pickintr() like on other platforms, but for 1000a expand
...
the iot, memt, and pc in the call so that pci_1000a_pickintr() (and the
other routines in that module) do not need to be aware of the core logic
type just to pass down memory and I/O space tags or to call the decompose
function.
1998-06-24 01:32:06 +00:00
ross
92aafa4a46
Identify ST_DEC_1000A as PCI/EISA.
...
New macros:
LOCATE_PCS(struct rpb *hwrpb, int cpu_number)
PCS_PROC_MAJORTYPE(struct pcs *)
PCS_PROC_MINORTYPE(struct pcs *)
Define LOCATE_PCS() to map (hwrpb, cpu_number) -> Per-Cpu-Slot structure.
Replace the PCS_PROC_{MAJOR,MINOR}{,SHIFT} stuff with macros that simply
return the major and minor cpu type codes.
1998-06-24 01:20:43 +00:00
ross
f1cc92f606
Add dec_1000a interrupts.
1998-06-24 01:14:55 +00:00
ross
731f8f0abd
Add DEC_1000A platform.
1998-06-24 01:12:45 +00:00
ross
ebc133a0ec
Clean up code using new LOCATE_PCS() macro.
1998-06-24 01:11:09 +00:00
ross
7f61979398
Use new LOCATE_PCS() macro.
1998-06-24 01:10:35 +00:00
ross
b314521ce9
Replace expression with new LOCATE_PCS() macro.
1998-06-24 01:09:45 +00:00
ross
c705adbc8a
New systype for DEC_1000A: Noritake, Pintake, and Corelle.
1998-06-24 01:08:28 +00:00
ross
ee709bc9e1
Replace expressions with the new macros: LOCATE_PCS(), PCS_CPU_MAJORTYPE(),
...
and PCS_CPU_MINORTYPE().
1998-06-24 01:06:26 +00:00
ross
d273e10d2d
Protect against multiple inclusion.
1998-06-24 01:04:26 +00:00
thorpej
e2ebc10c2d
Duuuh! Align the SGMAP page tables to 32K, not 32M.
1998-06-23 02:31:05 +00:00
drochner
6c7fabb232
adapt to wscons interface change
1998-06-21 09:51:59 +00:00
kleink
1fbd0b3749
GC the unused `physadr' type, which was not able to hold a complete physical
...
address on 2 architectures anyhow. Also, move the definition of the `label_t'
type inside _KERNEL protection, since it is specific to the in-kernel
setjmp()/longjmp() implementations.
1998-06-14 20:09:22 +00:00
cgd
651b44e211
Rework the way kernel include files are installed. In the new method,
...
as with user-land programs, include files are installed by each directory
in the tree that has includes to install. (This allows more flexibility
as to what gets installed, makes 'partial installs' easier, and gives us
more options as to which machines' includes get installed at any given
time.) The old SYS_INCLUDES={symlinks,copies} behaviours are _both_
still supported, though at least one bug in the 'symlinks' case is
fixed by this change. Include files can't be build before installation,
so directories that have includes as targets (e.g. dev/pci) have to move
those targets into a different Makefile.
1998-06-12 23:22:30 +00:00
mjacob
b6ac862e01
Roll back to 1.55 level since 1.56 will not compile.
1998-06-12 21:14:43 +00:00
thorpej
dfeb8f794c
Delete a debugging clause that is no longer necessary, and also can't
...
work properly if we're testing for a pmap active on _other_ processors.
1998-06-12 07:28:07 +00:00
thorpej
0a47d0d577
Rename active_pmap() to PMAP_ISACTIVE().
1998-06-12 00:45:47 +00:00
thorpej
ff16cd85c0
In pmap_enter(): if old PTE was not valid, we don't need to sync
...
the I-stream, for the same reason we don't need to invalidate the TLB.
1998-06-11 10:36:08 +00:00
thorpej
2683c2826d
Track mappings entered w/ VM_PROT_EXECUTE, and only synchronize the
...
I-stream when changing PTE bits or removing mappings that were entered
w/ EXECUTE protection.
1998-06-11 10:30:14 +00:00
thorpej
c0c2cb0f9a
Garbage-collect the old PMAPSTATS stuff; it didn't compile, and should
...
just be redone from scratch. Get it out of the way now to make it easier
to restructure a few things.
1998-06-11 05:16:35 +00:00
thorpej
3af0f95d24
Define a macro to test PG_EXEC.
1998-06-11 05:10:41 +00:00
thorpej
55207ad8b4
Define a software PTE bit to track VM_PROT_EXEC.
1998-06-11 05:09:47 +00:00
thorpej
afc9b7c59b
Significantly reduce the number of I-stream synchronizations by really
...
decoupling this operation from TLB invalidations (e.g. pull I-stream
syncs out of loops, executing them only once, etc.).
1998-06-11 05:08:37 +00:00
thorpej
817b595bab
Separate syncing the I-stream from invalidating the translation buffer.
1998-06-11 02:45:21 +00:00
thorpej
1abd24fffe
Correct a comment.
1998-06-11 00:34:16 +00:00
thorpej
02182100df
Use config_defer().
1998-06-09 18:49:33 +00:00
ross
69717a7f0e
Fix a UVM #if so {} balance is preserved and ctags(1) doesn't lose.
1998-06-09 09:31:58 +00:00
thorpej
680a3d77f4
Add isa_dma{freeze,thaw}(), used to temporarily stop and then restart
...
all ISA DMA. Needed by e.g. the SmartCard reader for Sharks.
1998-06-09 01:04:17 +00:00
thorpej
53394a1d41
Change the ISA DMA API to take an isa_chipset_tag_t rather than
...
a struct device * corresponding to the ISA bus device. The ISA DMA
controller driver functions have been renamed and now take a struct
isa_dma_state *, and are called indirectly by machine-dependent code
which provides the DMA state.
These changes allow e.g. `ofisa' (the OpenFirmware configuration
mechanism for the ISA bus, used by e.g. Sharks) to use the MI ISA
DMA controller code.
1998-06-09 00:06:54 +00:00
thorpej
8dedb90f13
The ISA chipset must persist; it's required after autoconfig time.
1998-06-08 23:49:05 +00:00
thorpej
f5cd6a7736
Add debugging support to the bus_space macros. If BUS_SPACE_DEBUG (or DEBUG)
...
is defined, the bus_space macros will check to ensure that the bus address
and the target buffer (if applicable) are aligned properly for the size
of the type being used. If they are not, a message will be displayed on
the console.
Strict alignment is required by the Alpha architecture, and a trap will
occur of unaligned access is performed. These changes will aid debugging
of broken device drivers.
1998-06-08 03:42:19 +00:00
sommerfe
aedc717c00
Hopefully avoid breaking PCMCIA on alpha.
1998-06-07 19:11:29 +00:00
thorpej
2e9939699d
Kernel configuration for my Multia, an example of how to configure a
...
Multia w/ PCMCIA support.
1998-06-07 00:45:35 +00:00
thorpej
14df007174
Oops, don't forget to fill in *addrp.
1998-06-07 00:29:29 +00:00
thorpej
0890af5ca8
Only disable an interrupt line after MAXSTRAYs if there is no handler
...
attached; we get stray interrupts on PCI devices sometimes, for some
unknown reason. (Similar problem exists on the 164SX, which also has
a Pyxis.)
1998-06-06 23:29:23 +00:00
thorpej
331a7f56c1
Remove some debugging code no longer relevant now that we have DMA
...
window chaining.
1998-06-06 23:11:52 +00:00
thorpej
eabad6b572
Implement bus_space_{alloc,free}() for swiz PCI I/O space.
1998-06-06 22:44:46 +00:00
thorpej
7a6d646c9b
Implement bus_space_{alloc,free}() for BWX bus space.
1998-06-06 22:28:16 +00:00
thorpej
fe17c44d6c
Add support for software powerdown of the Digital Personal Workstation.
1998-06-06 20:53:41 +00:00
thorpej
04ba8480ae
Use REGVAL64() to frob the Pyxis interrupt mask register.
1998-06-06 20:42:36 +00:00
thorpej
098dd211c7
Define a REGVAL64() for some Pyxis registers.
1998-06-06 20:40:14 +00:00
thorpej
49aea111fb
If the platform specified a powerdown hook, and howto has RB_POWERDOWN,
...
call the hook. If the hook fails, print a warning, and just halt (RB_HALT
is implied by RB_POWERDOWN).
1998-06-06 20:39:04 +00:00
thorpej
1733ad8dc5
Clean up a little, and add a `powerdown' hook in the platform structure.
1998-06-06 20:18:50 +00:00
thorpej
d08070a693
Add a comment describing the locking needs of the alpha_sgmap.
1998-06-06 20:12:28 +00:00
thorpej
85d08836f1
- Don't call *_dma_init() twice; there's no need to. Just do it in *attach().
...
- Display Pyxis revision properly.
1998-06-06 01:33:44 +00:00
thorpej
c0fa3c6ac4
Don't call *_dma_init() twice; there's no need to. Just do it in *attach().
1998-06-06 01:33:23 +00:00
thorpej
59d76407b4
Display information about which sgmap we're attempting to initialize
...
if we die in alpha_sgmap_init().
1998-06-06 01:31:46 +00:00
thorpej
9331237596
Oops, turn off some debugging printfs.
1998-06-05 21:47:14 +00:00
thorpej
bf8523f4e4
- Egads! There are Pyxis "Pass 1" chips that do not have the DMA bug!
...
Use the check recommended by the Digital Workstation engineers; look
for Miata 1 systems (i.e. with Intel SIO). From Andrew Gallatin.
- Update copyright (Pyxis and BWX).
1998-06-05 19:25:19 +00:00
thorpej
f251e3372d
Don't attempt to map the PCI IDE interrupt at bus 0 device 11 on the
...
AlphaPC 164 and AlphaPC 164LX - these are wired to compatibility mode.
1998-06-05 19:15:41 +00:00
thorpej
1aa688234e
Miata 1 has an Intel SIO at bus 0 device 7 and a CMD PCI IDE at bus 0
...
device 4. Miata 1.5 and Miata 2 have a Cypress at device 7 and PCI IDE
at functions 1 and 2 of the Cypress (like the PC164SX). These on-board
PCI IDE controllers are wired to compatibility mode, so don't bother
trying to map the interrupt.
1998-06-05 19:04:51 +00:00
thorpej
a1c151d56b
Add system variation for Miata 1.5.
1998-06-05 18:18:37 +00:00
thorpej
c072110af0
Actually, I did use a few of them on this file (I wasn't clear enough
...
in my mail to Ross, I guess...)
1998-06-05 17:42:53 +00:00
thorpej
bb362059ac
On Pass 1 Pyxis, disable PCI Read Prefetching, and warn the user about
...
the DMA bug that exists on this Pyxis revision.
1998-06-05 17:24:11 +00:00
thorpej
29977868a7
What was called CNFG in ALCOR and ALCOR2 is actually called PYXIS_CTRL1
...
in Pyxis. Add a comment to this fact.
1998-06-05 17:22:34 +00:00
thorpej
73e5032ac9
Define the Pyxis-specific bits in the CIA_CSR_REV register (ID mask, and
...
the ID for the 21174).
1998-06-05 17:16:31 +00:00
thorpej
2701ea3ef3
Add DEC_550 (Miata).
1998-06-05 17:03:07 +00:00
ross
5790ee09ee
Revert...Jason didn't use Andrew's diffs.
1998-06-05 15:28:40 +00:00
ross
8f455480ef
Tweak the copyrights a little bit. pci_550.h gets a TNF copyright, not
...
CMU, and pci_550.c keeps TNF but gets "Andrew Gallatin and Jason R. Thorpe".
1998-06-05 03:34:27 +00:00
thorpej
cf914cac00
oops, read CNFG on all Pyxis revs.
1998-06-05 02:15:38 +00:00
thorpej
cbaedc8675
Support for the Digital Personal Workstation [456]xx, a.k.a. Miata (systype
...
DEC_550). Mostly cloned from the EB164 systype, with some modifications
from myself, and a few more from Andrew Gellatin.
1998-06-05 02:13:41 +00:00
thorpej
3cfb38c5d1
Define the Pyxis interrupt request register.
1998-06-05 00:53:02 +00:00
thorpej
3249813e11
For whatever reason, the firmware seems to enable PCI loopback mode if it
...
also enables BWX. Make sure it's enabled if we have an old, buggy firmware
rev.
1998-06-04 22:58:33 +00:00
thorpej
d4d49905dd
Add support for using BWX for PCI config space and PCI i/o and mem space
...
on the ALCOR2 and Pyxis. BWX is enabled iff:
- It hasn't been disabled by the user (patch `cia_use_bwx' or build cia.o
with the option "CIA_USE_BWX=0"),
- it's enabled in CIA_CSR_CNFG,
- we are running on an EV5-family processor,
- BWX is in the processor's capabilities mask.
1998-06-04 21:34:45 +00:00
thorpej
616125f8d1
Deal with a hardware bug in Pass 1 and Pass 2 Pyxis chips. Basically,
...
the scatter/gather TLB cannot be invalidated on these chips. So, to
work around this, we configure the otherwise unsed DMA Window 2 as a
2M SGMAP window at 128M, point all of its page table entries at the
DMA spill page, and, when the TLB is to be invalidated, put the PCI bus
into loopback mode, and create a target hit on Window 2 every 64k for
the number of TLB entries (plus a few ... it seems to not work unless
we read a few extra times), forcing out old TLB entries to make room for
the new, dummy target hits.
1998-06-04 18:11:23 +00:00
thorpej
a51d42503c
Export the spill page PTE, and provide a hook to initialize it early.
1998-06-04 01:22:52 +00:00
thorpej
6dc28f5445
CIA and Pyxis have 8 scatter/gather TLB entries.
1998-06-04 01:18:22 +00:00
thorpej
32fef69ef7
Define the CIA control register.
1998-06-04 01:04:11 +00:00
thorpej
d94f02f9fd
Ok, now we _REALLY_ have Pyxis recognition correct. There are two systypes
...
that can have Pyxis: EB164 (AlphaPC164LX and AlphaPC164SX) and DEC_550 (Miata),
and these systypes/variations _always_ have Pyxis.
1998-06-03 23:16:55 +00:00
thorpej
44605ba506
Define a bunch more system variations.
1998-06-03 23:07:38 +00:00
thorpej
15c52040a5
Define the ALT_MEM big in the CIA revision register.
1998-06-03 22:19:08 +00:00
mjacob
9f5797ac1d
turn on Essential HIPPI for these configurations
1998-06-03 21:16:28 +00:00
thorpej
d6041754c2
Allow the DMA tag to specify a boundary contraint. If the device has a
...
more strict boundary, the map will use it, otherwise the map will inherit
the tag's, unless the tag's constraint is 0 (no boundary constraint).
1998-06-03 18:25:53 +00:00
thorpej
50be447da3
Sync the bus_dmamap_load back-end functions between alpha and i386. (only
...
slight, unnecessary differences)
1998-06-03 04:15:05 +00:00
thorpej
7022024d4a
Add epic* at pci?
1998-06-02 01:43:33 +00:00
thorpej
a7f360c6c9
Specify a non-profiling C rule.
1998-05-31 23:25:41 +00:00
matt
5d6bc16daa
more optimizations
1998-05-29 15:55:34 +00:00