thorpej
8354e68508
Remove "class" declarations, and add "devclass" declarations where
...
appropriate. Fix several inconsistencies between device class and
attributes. Mostly from Chris Demetriou.
1998-02-16 22:12:45 +00:00
thorpej
b4e77b173a
Add support for non-contiguous physical memory, using MACHINE_NEW_NONCONTIG.
...
These changes also recover memory that is located before the kernel in
the first system software segment on systems which do not use the PROM
for console I/O. Written by Chris Demetriou and myself.
1998-02-16 03:59:55 +00:00
cgd
1584dc4420
The pmap_emulate_reference warning about the page not being managed should
...
be a panic instead. If it's hit, "random" memory is going to be corrupted.
1998-02-14 02:04:05 +00:00
cgd
1538076f47
fix pasto in last (sigh)
1998-02-14 01:18:46 +00:00
cgd
ab67040f58
fix for (harmless) bogon introduced in last commit
1998-02-14 01:17:19 +00:00
cgd
e719e8f703
adjust kernel core dump code for changes in kcore.h, also clean up
...
slightly.
1998-02-14 00:53:26 +00:00
cgd
69d88fbfd6
replace the single phys_ram_seg_t with a count. an array of segment
...
descriptors will be placed after this structure in the core file.
1998-02-14 00:17:57 +00:00
enami
2c12105cda
Remove comment which says that fxp is untested (it is known to work now).
...
Also, make model name closer to what driver prints startup.
1998-02-13 04:33:30 +00:00
cgd
25d056473c
Clean up kernel initialization. Use the bootinfo structure (or innate
...
knowledge) earlier, and gather all information needed earlier. Mark the
init code carefully re: when it can print stuff out, when it can expect
the firmware to stop working, etc. Be more careful about using the PROM
console and other PROM facilities, and hint that in the future all use
of firmware/boot program callbacks by the kernel should go away (since
the world may not be mapped the way the firmware/boot program wants!).
1998-02-13 02:09:03 +00:00
thorpej
b22ad9fe1a
Define a lookup table for Alpha platform variation names.
1998-02-13 01:29:09 +00:00
thorpej
bdc328cb13
Use the platform family name in alpha_unknown_sysname().
1998-02-13 00:27:37 +00:00
thorpej
bd60d9c62d
Rewrite the way the platform model string is determined:
...
- Attempt to find the model string in the HWRPB's DSR area. Failing that
(if the HWRPB version is too old)...
- Look up the system variation in a variation/string table. Failing that
(unknown variation)...
- Create a default model string using the variation number.
Also, factor out a bunch of common code.
1998-02-13 00:12:45 +00:00
thorpej
44df600994
Define the structure of the HWRPB's Dynamic System Recognition area.
1998-02-13 00:07:25 +00:00
thorpej
7fbc685c06
Make it a little more clear that the "eb164" systype doens't necessarily
...
mean that a machine is a DEC EB164 (it may be an AlphaPC 164, which is
different, from the firmware's perspective).
1998-02-12 20:46:47 +00:00
thorpej
314f40f8d8
We can't count on the CIA revision register telling us if we're a 21171
...
or 21172, so make the chip/revsion output a little more sane.
1998-02-12 20:43:45 +00:00
cgd
5a1a26d325
set 'hwrpb' in a way that works exactly the same way as the previous
...
code, but looks significantly less gross.
1998-02-12 02:54:02 +00:00
cgd
c7ba12ab93
rename struct rob's "rpb" element to "rpb_phys" for clarity. also,
...
change its type from a pointer to a never-defined structure to a
u_int64_t.
1998-02-12 02:27:48 +00:00
cgd
92d17b5b50
clean up the way bootinfo information is passed and used: move the version
...
number passed by the boot block into a register, change the kernel's
bootinfo handing so that it always uses bootinfo to get bootinfo-ish values
(filling them in if the boot blocks didn't pass them), and make versioning
a small bit more sane.
1998-02-12 01:53:18 +00:00
thorpej
c26f962957
Use kernel_map in bus_dmamem_{map,free}().
1998-02-11 03:08:31 +00:00
thorpej
30aa56fc66
Use M_DMAMAP where appropriate.
1998-02-11 01:37:51 +00:00
cgd
e21b7a5995
leave space for bootstrap stack when calculating kernstart
1998-02-11 00:05:33 +00:00
thorpej
1951c4b19b
Bump KNMEMCLUSTERS slightly, and make it more obvious how to tune it
...
(lifted from i386 port).
1998-02-10 03:53:01 +00:00
thorpej
68d3b764ce
Make it easier to keep the scaled VM_*_SIZE values in sync w/ the
...
constants.
1998-02-10 03:52:05 +00:00
thorpej
5887833ac7
Kernel for babylon.netbsd.org.
1998-02-10 00:48:14 +00:00
thorpej
8e69ee392a
Fixup includes.
1998-02-04 23:41:45 +00:00
thorpej
612aea038c
Use the common _bus_dmamap_sync() as the _dmamap_sync method in the
...
bus_dma_tag_t.
1998-02-04 07:37:28 +00:00
thorpej
1a2b1a18f2
The _dmamap_sync method is no longer optional.
1998-02-04 07:36:10 +00:00
thorpej
b1d8bffad8
Flush the CPU write buffer in _bus_dmamap_sync().
1998-02-04 07:35:30 +00:00
thorpej
8abe76d2f0
Add offset and length parameters to bus_dmamap_sync(), used for specifiying
...
partial syncs of a DMA mapping.
1998-02-04 05:12:46 +00:00
thorpej
99cc8482d1
Change the last argument of bus_dmamap_sync() from bus_dmasync_op_t to int,
...
and allow more than one synchronization operation to be specified in
a single call. Dissallow mixing of PRE and POST operations.
1998-02-04 01:57:27 +00:00
thorpej
2d403996b2
Add dm_mapsize to bus_dmamap_t and rename BUS_DMAMEM_NOSYNC to
...
BUS_DMA_COHERENT.
1998-02-04 00:10:30 +00:00
thorpej
5fd0d10994
Add dm_mapsize to bus_dmamap_t and rename BUS_DMAMEM_NOSYNC toBUS_DMA_COHERENT.
1998-02-04 00:04:25 +00:00
mycroft
b5c132e4d2
Prototype __flt_rounds() consistently.
1998-02-03 01:26:20 +00:00
thorpej
cfa47dfc11
Add support for installing boot blocks into ISO-9660 file system images.
1998-02-01 06:59:30 +00:00
thorpej
fea34a1cf2
Bump the ramdisk size to 3M.
1998-02-01 02:55:42 +00:00
thorpej
4efe4fc0da
le* at isa? isn't ready for prime-time yet.
1998-02-01 00:24:26 +00:00
ross
d0cce6d144
Take Jason's most excellent advice on platform.model.
1998-01-31 10:55:42 +00:00
ross
1e62e0ffd9
Remove the #include of rpb.h from clock.c and set hz from the hwrpb
...
in alpha_init() instead of from a hardwired 1024 in cpu_initclocks().
1998-01-31 10:32:47 +00:00
cgd
58fb6574f9
valloclim() was unused; kill it. #undef valloc() at the end of
...
allocsys().
1998-01-31 02:20:44 +00:00
ross
6270ed1711
Add the A12 fast ethernet controller, an if_de.c hacked (prior to
...
bus_dma's appearance in the tree) to support sram bounce buffers.
When a busified if_de.c appears, this module can join awd.c at the
end of that long walk on a short pier.
1998-01-31 01:43:40 +00:00
ross
3a83745247
In some hp300-derived pmaps, in pmap_page_protect(), don't walk off the
...
end of the list of physical->virtual entires into NULL space if the last
entry is (mysteriously) wired in the pmap. Add a DEBUG printf on alpha.
1998-01-31 01:32:55 +00:00
ross
1559f49cd1
Correct a number of apparent errors in a few reboot paramemter block fields.
1998-01-29 22:28:52 +00:00
ross
ccafd3dcb9
Define the A12 names.
1998-01-29 22:26:24 +00:00
ross
f2d2b6bf68
defopt for AVALON_A12 and specifiers for all the platform modules.
1998-01-29 22:23:06 +00:00
ross
18beceb2f9
Recognize Avalon A12 cputype code.
1998-01-29 22:20:15 +00:00
ross
43a3471986
While here in alpha/stand, add a technically required imb coherency op
...
just before transferring to the kernel entry point.
1998-01-29 22:13:25 +00:00
ross
c1972a428c
Avoid VMS palcode ops by using a different technique for cpu_number(),
...
and don't execute the VMS->OSF palcode switch if the OSF palcode
is already running...which will be the case if the console is not
the venerable SRM.
1998-01-29 22:09:37 +00:00
ross
8430acf1e7
Add a12 platform support. The A12 is a scalable, distributed memory parallel
...
processor.
1998-01-29 21:46:33 +00:00
ross
12f93343cd
Add basic platform support for NetBSD on the Avalon A12. I'm running this
...
CVS commit on one right now...
1998-01-29 21:42:50 +00:00
ross
683fada0e3
Clean up duplicated code sequences and add an imb (a coherency operation)
...
whenever the console code is mapped and unmapped.
1998-01-29 21:11:58 +00:00
ross
0c4d28f49e
Fix an alpha-specific page daemon wedge...the new pmap_clear_reference()
...
may be faster, but it was supposed to _clear_ PMAP_ATTR_REF, not _set_ it.
1998-01-29 05:44:57 +00:00
thorpej
2538ed1062
Use offsetof() from libkern.h
1998-01-28 02:23:04 +00:00
thorpej
5ac7e550d1
Implement bus_dmamap_load_mbuf().
1998-01-27 02:35:58 +00:00
mycroft
15ae963bea
When dumping, print out the device number as major,minor.
1998-01-24 16:46:23 +00:00
thorpej
cacd48c0d6
Print the correct error number if nfs_mount() fails. From Chris Demetriou.
1998-01-23 19:13:28 +00:00
thorpej
9c3ef8899b
Don't conditionally define the sgmap_log_entry structure, and turn off
...
SGMAP logging by default.
1998-01-21 22:36:10 +00:00
thorpej
3d9cd8a05a
Extent names are const.
1998-01-21 22:34:38 +00:00
thorpej
12809e3434
If mapping only one segment of DMA memory into KVA space, use K0SEG.
1998-01-19 03:12:20 +00:00
thorpej
c6d1f2e018
G/c LANCE DMA allocation goop.
1998-01-19 02:57:28 +00:00
thorpej
e5e8573d5c
Allocate the LANCE DMA area and set it up here. This is still not
...
optimal (really should be done further down the food chain), but we
can't really do that in a nice way right now, and this is much better
than what we had before (which was to steal memory pages before the
VM system was bootstrapped).
1998-01-19 02:56:05 +00:00
thorpej
bf92ae27ef
Pass a pointer to the "get this slot's DMA tag" function pointer to
...
the tc instance just like we do with the interrupt functions.
1998-01-19 02:54:24 +00:00
thorpej
806e953f2c
Get the per-slot DMA tag a bit differently.
1998-01-19 02:53:29 +00:00
thorpej
70da5cdba9
G/c an unused function pointer.
1998-01-19 02:53:03 +00:00
drochner
32d94859ea
adapt to changed <dev/ic/i8042reg.h>
1998-01-18 14:45:10 +00:00
thorpej
e62d894d7a
Implement a prefetch spill page for SGMAP DMA. This works around a slight
...
annoyance on systems that prefetch the next page during memory -> device
DMA if the DMA comes within a certain distance of the end of the current
page. This could cause machine checks since the PTE after the last page
would not have the valid bit set.
(I'm not going to complain about this slight kludge too much, since prefetch
makes DMA much faster...)
1998-01-18 00:05:33 +00:00
thorpej
8df306036a
Initialize s/g DMA registers in the same order as the CIA chipset's:
...
(1) window base
(2) window mask
(3) translation base
1998-01-17 22:46:55 +00:00
thorpej
3366b987d0
Put SGMAP-related stuff in the DMA map structure directly, rather than
...
indirecting through a pointer.
1998-01-17 21:53:52 +00:00
thorpej
63db8935a6
Fix initialization of DMA window 0:
...
- Make sure the page table is aligned to at least 32k.
- Don't consider the MEMCS signal when checking for a window hit.
1998-01-17 03:43:59 +00:00
thorpej
9554b5a243
Update for "minptalign" argument to alpha_sgmap_init().
1998-01-17 03:40:32 +00:00
thorpej
399f3639cf
Don't assume that we'll be using direct-mapped DMA for PCI.
1998-01-17 03:39:51 +00:00
thorpej
361179df26
Make debugging decisions at run-time, and place a handy DDB breakpoint
...
after a transfer has been mapped in the page table.
1998-01-17 03:38:51 +00:00
thorpej
2981fec2f0
Allow specification of a minimum page table alignment to alpha_sgmap_init().
...
This is to work around an apparent hardware bug in some 2117x chipsets
where the page table must be aligned to at least 32k.
1998-01-17 03:37:22 +00:00
thorpej
6254765e6a
Make this compile again after recent config changes.
1998-01-15 22:22:09 +00:00
thorpej
86adfd8033
Switch to MI IDE drivers, add ATAPI devices.
1998-01-15 07:17:19 +00:00
thorpej
c60855e116
Switch to the MI IDE drivers.
1998-01-15 07:09:24 +00:00
thorpej
f127dfb6f0
Undo the wdc -> awdc mapping kludge.
1998-01-15 07:02:21 +00:00
thorpej
76e4297b91
No longer needed; we use the MI IDE driver now.
1998-01-15 07:01:51 +00:00
cjs
61826c3946
Make INSTALL a fully-loaded kernel (for booting from network or CD), and
...
INSTALL-FLOPPY a stripped-down version to fit on a floppy.
1998-01-13 23:49:31 +00:00
thorpej
5419debcb7
Adjust for config changes.
1998-01-12 10:21:02 +00:00
thorpej
c5f6a2dbb3
Add (commented out) COMPAT_13
1998-01-12 07:09:24 +00:00
thorpej
83c4c24058
Add "non-volatile" memory cluster usage bit.
1998-01-12 07:07:19 +00:00
perry
6f57e5c573
multiple include protect machine/limits.h, fixes pr 4473 (from Mika Nystrom)
1998-01-09 22:23:44 +00:00
thorpej
1256fac296
Rearrange alpha_init() somewhat, setting the page size much earlier, and
...
keeping track of where the kernel lives in K0SEG. Place early data
structure allocation into an allocsys() function, like other ports, so
that it can be used to first calculate the amount of memory needed
for those data structures.
1998-01-09 21:34:47 +00:00
thorpej
bb4988dca2
If MACHINE_NEW_NONCONTIG is defined, activate the pmap_steal_memory()
...
interface.
1998-01-09 19:13:09 +00:00
drochner
9c3e23d351
Compile in BOOTP support for diskless boot.
1998-01-09 17:10:16 +00:00
drochner
874db3d0e0
Selection of network configuration method for diskless boot can be
...
controlled by config options now. Remove setting of nfs_boot_rfc951,
it is set by default if "option NFS_BOOT_BOOTP" is defined.
1998-01-09 17:06:35 +00:00
thorpej
e47378c640
- pmap_collect_pv() is broken; #ifdef it out (it's not currently ever
...
called anyway, but now at least the reason is documented).
- rearrange a few things to make it easier to add support for non-contigous
physical memory.
1998-01-09 08:27:09 +00:00
thorpej
b115c27722
Get rid of some old cruft.
1998-01-09 08:18:22 +00:00
thorpej
5170264d4e
Gather pv_table and pmap_attributes things togther, and macro'ize
...
access to them a little better.
Also, improve the performance of pmap_is_{referenced,modified}() and
pmap_clear_{reference,modify}() somewhat.
1998-01-09 06:54:17 +00:00
thorpej
14807c2914
Use avail_start/avail_end.
1998-01-09 06:37:04 +00:00
thorpej
f9b6954f55
Call vm_set_page_size() after initializing PAGE_SIZE.
1998-01-09 06:35:17 +00:00
perry
015e898c02
RCSID Police.
1998-01-05 07:02:46 +00:00
perry
3e0fad1868
RCSID Police.
1998-01-05 06:28:44 +00:00
thorpej
b9f1b716f3
Now that all ports have pmap_activate(), and it has an identical interface,
...
prototype it in <vm/pmap.h>
1998-01-03 01:12:59 +00:00
thorpej
8b5e0b6e06
Remove a couple of unneeded VM-related headers.
1997-12-31 19:32:55 +00:00
cjs
89951259ed
Add kernfs; remove more stuff we don't need.
1997-12-31 16:44:37 +00:00
mjacob
feb6e077d4
do not incread vm_kmem_size that radically for 1GB or better machines
1997-12-16 21:59:41 +00:00
mjacob
b52361ff54
add missing COMPAT_13 that kleink putzed
1997-11-30 23:18:59 +00:00
mjacob
549ecbd70a
make SCSIVERBOSE default
1997-11-26 03:13:53 +00:00
mjacob
61f3754047
add SYSVMSG and SYSVSEM to GENERIC kernel
1997-11-26 03:13:12 +00:00
kleink
66c2794142
Add _BSD_SUSECONDS_T_ and _BSD_USECONDS_T_; do some space vs. tab formatting
...
cleanup
1997-11-23 20:20:53 +00:00
mjacob
261191603a
copyright foo
1997-11-19 15:35:36 +00:00
lukem
6c986561ee
* add commented out DDB_HISTORY_SIZE=100 if DDB exists in config file
...
* fix up use of 'options<SPACE><TAB>'
1997-11-17 01:57:23 +00:00
ross
711247adf8
Eliminate %: use from alpha/trap.c; the policy is to get rid of these
...
anyway. I _still_ have my doubts about the kprintf %: code, though.
1997-11-17 00:52:49 +00:00
ross
9dcfc52387
Put in Jason's recommended fix for the null-curproc-in-pmap.old.c problem.
1997-11-17 00:11:22 +00:00
mjacob
940f8fcfd1
remove unneeded and conflicting prototype
1997-11-13 18:06:01 +00:00
thorpej
ce4c770f88
Make sure CPP, AR, AS, and RANLIB are defined.
1997-11-12 23:11:50 +00:00
thorpej
a421995756
Define LORDER, NM, and TSORT here, like we do the rest of the tools.
1997-11-12 22:25:31 +00:00
mjacob
479bc8877c
Protect userland applications from the inline splraise function.
1997-11-10 18:23:50 +00:00
thorpej
e22396f499
Clean up the messages displayed when either platform support is not
...
configured into the kernel, or when the platform is not supported.
Use the defopt'ed options, rather than NDEC_... and remove the needs-flag
hack that's existed for a while.
1997-11-06 00:41:45 +00:00
thorpej
4730a8cbec
Bug fixes and cleanup from Chris Demetriou <cgd@pa.dec.com>:
...
- fix _C_LABEL so that it actually works.
- make __RENAME use _C_LABEL.
- fix __RENAME so that it expects an unquoted argument.
- fix __indr_reference and __warn_references so that they
supply their own final semicolon.
- define __warn_references to nothing if not GNU C (required
by the way it's used).
The __warn_references semicolon change has to be made
so that __warn_references can be defined into nothing.
(A ; all by itself isn't a great idea.) The __indr_reference
change was made for consistency.
1997-11-04 23:09:23 +00:00
ross
6f6bb84844
Check for null curproc in pmap_changebit. Fixes the IDE-on-alpha crash
...
problem reported by Chris Csanady <ccsanady@bob.scl.ameslab.gov>.
this
1997-11-04 07:16:25 +00:00
ross
0ea4820367
--Add handcrafted stack frame directives to locore.s palcode vector
...
--entries / remove kernel entry from locore / reorganize vector entry
--code. Enables access to stack frames transitively w.r.t. palcode
--vectors, e.g. upward traceback works, inverting (possibly several)
--kernel vectors. Until now, all trackbacks ended at the first-reached
--instance of trap(), which was totally useless as there is no mystery
--to trap->panic->cpu_reboot
1997-11-03 04:22:00 +00:00
lukem
3e8e744696
getopt returns -1 not EOF
1997-11-01 06:49:14 +00:00
thorpej
32146049fa
Don't forget to account for scrollskip when computing the current row.
1997-10-27 01:37:33 +00:00
thorpej
023044a749
Clean up printing of chipset revision/capabilities.
1997-10-27 01:08:42 +00:00
thorpej
611012d836
Make the copy_region methods do overlapping copies properly. Fixes
...
port-alpha/4216 (Chris Demetriou).
1997-10-25 01:21:57 +00:00
thorpej
19c77efe96
In vga_erasecols(), fix botched count and reversed arguments to
...
bus_space_set_region_2(). From Chris Demetriou <cgd@pa.dec.com>.
1997-10-24 23:03:02 +00:00
thorpej
665f7d1a6e
Implement __RENAME() in <machine/cdefs.h>
1997-10-22 05:20:32 +00:00
mjacob
5bd8e6eccc
MSS3 needs full SYSV stuff.
1997-10-20 19:48:30 +00:00
explorer
f29df68cd4
comment out rnd, mark as experimental
1997-10-20 18:47:08 +00:00
cjs
1a546804ed
First go at an INSTALL kernel (add ramdisk, remove unnecessary stuff).
1997-10-19 01:31:49 +00:00
cjs
bcced1d9be
Check return values from lseek; use SEEK_SET instead of 0.
1997-10-18 22:27:46 +00:00
mjacob
c3f84c257a
more compile foo
1997-10-17 18:59:48 +00:00
mjacob
c8fce5460c
more compile foo.
1997-10-17 18:58:16 +00:00
mjacob
eb249946d0
Recover from some include file foo.
1997-10-17 18:47:30 +00:00
mjacob
d13d5783e4
Add in missing includes.
1997-10-17 18:25:32 +00:00
thorpej
6698c7b3e2
Adjust for new "com" driver home.
1997-10-16 00:58:08 +00:00
mjacob
c83fc3eeb6
Remove __VM_PMAP_HACK.
1997-10-14 15:29:50 +00:00
cjs
c44bfc9eae
Make compile without DIAGNOSTIC set.
1997-10-14 06:22:02 +00:00
cjs
0e4e4777f8
Add pseudo-device rnd.
1997-10-13 06:59:58 +00:00
explorer
80513cb5ae
o Make usage of /dev/random dependant on
...
pseudo-device rnd # /dev/random and in-kernel generator
in config files.
o Add declaration to all architectures.
o Clean up copyright message in rnd.c, rnd.h, and rndpool.c to include
that this code is derived in part from Ted Tyso's linux code.
1997-10-13 00:46:08 +00:00
mycroft
9803f46796
Minor rearrangement to match other files.
1997-10-11 09:12:18 +00:00
mycroft
5c8d588138
Nuke NOOBJ.
1997-10-11 08:44:42 +00:00
mycroft
acf0e569a5
Update all the tags goo, and use bsd.subdir.mk.
1997-10-11 08:42:02 +00:00
cjs
984390f178
Add now-working ipfilter.
1997-10-10 08:54:14 +00:00
bouyer
6ab3092b11
Add byte-swapping functions (bswap16, bswap32, bswap64) to libkern.
...
Only assembly version for i386 bswap16 and bswap32 for now (bswap64 uses
bswap32). Contribution of assembly versions of these are welcome.
Add byte-swapping of ext2fs metadata for big-endian systems.
Tested on i386 and sparc.
1997-10-09 15:42:19 +00:00
thorpej
5e05593163
Implement DIOCGDEFLABEL.
1997-10-08 23:23:13 +00:00
gwr
bb2d22bde0
use common genassym.awk
1997-10-04 17:21:23 +00:00
gwr
c63931a407
use common genassym.awk
1997-10-04 17:14:07 +00:00
thorpej
92a347c574
Copyright assigned to The NetBSD Foundation.
1997-10-04 09:38:47 +00:00
christos
3996b53189
PR/4162: Chris Jones: make cleandir does not work properly; it does not
...
remove the object files and the .depend file in the kernel build directory.
1997-09-30 22:39:49 +00:00
thorpej
d65a5e7fd2
Enter DDB on cntl-alt-esc (a'la i386).
1997-09-25 02:42:47 +00:00
thorpej
ef86b9a61d
Fix a small oversight in last change.
1997-09-25 02:13:44 +00:00
thorpej
0c2efd7025
Add a "scrollskip" member to wscons_emulfuncs (XXX even though it's not
...
a function) which specifies how many lines will be skipped when scrolling
up when the bottom of the screen is reached. Dumb framebuffers skip 10
lines (as before) because the copies are s ... l ... o ... w, but it's
silly to skip 10 lines on VGA, since the copies are much faster, so we
only skip one in that case.
1997-09-25 01:31:53 +00:00
mjacob
42c325e139
A minor barely acceptable hack to handle having a kernel boot on a system
...
with large amounts of memory and not spew. This doesn't really replace
fixing this problem better later, but it works for now. Basically, if memory
is greater than 128MB, start upping the sizes of some maps.
1997-09-23 23:23:23 +00:00
mjacob
b23bbbb05c
Redo the platform specific identification and initialization, making
...
it more explicit where platform specific functions (like machine check
handling) should go.
1997-09-23 23:15:42 +00:00
mjacob
03a798a3fd
Add some defines for alpha interrupt types.
1997-09-20 19:02:34 +00:00
mjacob
185cbcebd0
An oops- MSS3 referred to a device not yet integrated.
1997-09-19 22:03:59 +00:00
mjacob
4de790f125
Add in a clause ifdef'd for LIMITMEM- limit usage of memory to a certain
...
amount. Temporary until more drivers use busdma stuff.
Also correct to unsigned the printing out of memory sizes.
1997-09-19 22:00:34 +00:00
mjacob
206b183a48
Add a config file for large memory 8200s- this is temporary until a
...
more gracious self correcting (for large memory, e.g., > 1GB) startup happens.
1997-09-19 21:58:47 +00:00
mjacob
0fb787aedb
Add missing reference.
1997-09-19 14:48:59 +00:00
mjacob
f3d890d1c9
missing cast.
1997-09-19 14:47:33 +00:00
leo
d4713d24c2
Implement the kernel part of pr-1891. This allows for a more flexible sized
...
msgbuf. Note that old 'dmesg' and 'syslogd' binaries will continue running,
though old 'dmesg' binaries will output a few bytes of junk at the start of
the buffer, and will miss a few bytes at the end of the buffer.
1997-09-19 13:52:37 +00:00
thorpej
618f6b9541
Make IDE work again, from Ross Harvey <ross@teraflop.com>.
1997-09-19 00:59:38 +00:00
mjacob
9ce899230a
After decommisioning a mapping, an IMB kinda needs to happen.
1997-09-18 01:08:56 +00:00
thorpej
cd69e27594
Prototype alpha_implver(), and fix a think-o in a previous commit.
1997-09-17 23:33:28 +00:00
thorpej
b806d39316
Implement a stub for the "implver" instruction, which returns the
...
implementation version of the processor.
1997-09-17 23:32:14 +00:00
thorpej
15e10104d5
Define the BWX-capable regions of the CIA chipset's address space (mem,
...
i/o, pci config space mode 0, pci config space mode 1) and the CIA
REV and CNFG CSRs.
1997-09-17 01:35:34 +00:00
thorpej
879c4c5cf4
If the CIA revision is >= 2, read the CIA configuration register, and
...
remember its contents. Print out a bit of information about the chip,
including whether or not it supports the EV56 BWX instructions.
1997-09-17 01:34:18 +00:00
thorpej
ed767a2402
Fix a typo in a comment.
1997-09-16 23:12:35 +00:00
thorpej
87c1a08481
Add stubs for the Alpha Byte/Word Extension (BWX) instructions, present
...
on EV56 and later processors that have the "amask BWX" bit clear. These
instructions will be used to implement non-swizzle bus access functions
on newer systems, such as the new AlphaStation 500s with EV56 and 21172
PCI chipsets.
See "Alpha Architecture Handbook, Version 3", DEC order number EC-QD2KB-TE.
1997-09-16 23:09:10 +00:00
thorpej
6fc0f07c30
Define the "integer miscellaneous" opcode and subfunctions.
1997-09-16 22:53:32 +00:00
thorpej
149011c65b
Add support for disassembling the "integer miscellaneous" opcode subgroup.
1997-09-16 22:52:40 +00:00
is
718fb97e11
Support for the upcoming NetBSD/Amiga Hypercom driver family:
...
* support chip clocks != COM_FREQ, by introducing sc_frequency (for the
mainline code) and adding a frequency parameter right after the rate
parameter to comcnattach() and com_kgdb_attach().
- Make com_isa and com_multi initialize sc_frequency to COM_FREQ.
- Make i386/machdep.c and alpha/dec_xxx.c call com*attach() with the freq.
parameter.
* supio_attach_args get two more fields: a sc_ipl and a sc_arg, both ints.
- com_supio uses the first for interupt establishment (all childs will, as
soon as they exist) and the 2nd for sc_frequency.
- drsupio passes sc_ipl alway as 5, and for the "com"s, sc_arg as 16*115200
- hyper will pass sc_ipl as 6, and sc_arg as 16 * 460800
1997-09-16 20:34:23 +00:00
thorpej
d1b4b49231
- Use PALcode ops names defined in <machine/pal.h>.
...
- Fix a few bugs in the software single-stepping support code, where
VMS PALcode ops were being checked, rather than OSF/1 PALcode ops,
causing erroneous results in the "exception return" and "unconditional
branch" predicates.
- Add the BWX instructions ("ldbu", "ldwu", "stb", "stw") to the
"load" and "store" predicates.
1997-09-16 19:07:19 +00:00
thorpej
a14bab3438
Don't define another copy of the PALcode ops here; direct readers to
...
<machine/pal.h>.
1997-09-16 19:03:22 +00:00
thorpej
e7c2d59885
Fix an oversight in the last commit.
1997-09-16 19:02:13 +00:00
thorpej
0599db7897
- Define bits used in the "amask" instruction.
...
- Define processor family IDs returned by the "implver" instruction.
- Prototype alpha_amask().
1997-09-16 06:57:12 +00:00
thorpej
9faf00ea6a
Implement alpha_amask(), a stub which reads the "architecture feature mask"
...
using the "amask" instruction.
1997-09-16 06:54:01 +00:00
thorpej
4fe999c6bf
- Add the "amask" and "implver" operate subfunctions.
...
- Add the "ldbu", "ldwu", "stb", and "stw" major opcodes (BWX instructions).
1997-09-16 06:52:48 +00:00
thorpej
fc80b40481
- Rewrite the functions that provide opcode subfunction names to make it
...
easier to add instructions that the disassembler doesn't know about
(the opcode subfunction number is now printed).
- Add the "amask" and "implver" operate subfunctions.
- Add the "ldbu", "ldwu", "stb", and "stw" major opcodes (BWX instructions).
1997-09-16 06:52:16 +00:00
thorpej
d1fbc82e28
From page 6-9 of "Alpha AXP Architecture Reference Manual, Second Edition":
...
An IMB intruction must be executed after software or I/O devices
write into the instruction stream or modify the instruction
stream virtual address mapping, and before the new value is
fetched as an instruction.
We were missing calls to IMB after mappings were changed, which caused
systems with large I-caches (e.g. my AlphaStation 500) to fail miserably
when mapping in new pages of program text, or when context switching
(I couldn't even get the shell from init!).
1997-09-16 01:52:00 +00:00
thorpej
37b8edbeac
In addition to MAS_ABT, check TAR_ABT when doing configuration space
...
reads. This is necessary because of newer AlphaStation firmware doing
the Wrong Thing with target aborts behind PCI-PCI bridges, much like they
do the Wrong Thing with master aborts. Reported by Matthias Drochner.
1997-09-15 23:31:15 +00:00
thorpej
12f6c5aba1
Make sure to clear MAS_ABT if we received one.
1997-09-15 23:01:29 +00:00
thorpej
3c3c6a3b31
Use the symbolic name for "received master abort".
1997-09-15 22:35:54 +00:00
thorpej
8ff22715e8
Define bits in the CIA_ERR register.
1997-09-15 22:34:38 +00:00
thorpej
e97c5f6c50
Update the model string for current reality.
1997-09-13 10:09:39 +00:00
thorpej
9a5f8236b5
Don't panic if we receive a Processor Correctable Error or a System
...
Correctable Error; report them, instead.
XXX Need a platform-specific machine check handler so we can decode the
logout area on such errors.
1997-09-13 10:01:33 +00:00
thorpej
12b0c2a20a
The Alpha console uses BOOTP for network booting, so the NetBSD kernel
...
should, too. Enable the BOOTP support in nfs_boot().
1997-09-13 07:42:01 +00:00
thorpej
f784e8dc15
Apparently, new AlphaStation 500/600 firmware has the same problem with
...
PCI master aborts as eb164 firmware, so use the same workaround mechanism
on all system types (clear error register's master abort bit, and check
it after accessing configuration space), not just eb164's.
This also fixes a bug on eb164's - when making the Alpha port compile
again, I made an error that caused this to not be used on eb164 systems,
either. Thanks to Matt Jacob for pointing out this goof.
1997-09-13 05:58:07 +00:00
mycroft
16a8787248
Fix execve(2) and *setregs() interfaces so emulations can set registers in a
...
more correct way. (See tech-kern.)
1997-09-11 23:01:44 +00:00
drochner
969e506de4
Oops, last change made "make depend" work incompletely. Don't define
...
a "depend" rule here.
1997-09-06 14:26:47 +00:00
drochner
281398581a
-Wall fixes
1997-09-06 14:08:27 +00:00
drochner
3b191b29c0
enable -Wall
1997-09-06 14:07:57 +00:00
drochner
be8a78e9b5
-use DHCP extensions in bootp()
...
-enable -Wall
1997-09-06 14:06:53 +00:00
drochner
80d9738db8
-Wall fixes
1997-09-06 14:03:55 +00:00
drochner
d99aa8efc0
Collect prototypes here.
1997-09-06 14:02:51 +00:00
drochner
7546d66094
Make sure the <machine/*.h> includes come from current kernel sources,
...
not from installed userland.
1997-09-06 14:02:13 +00:00
thorpej
ed2ec4869c
Update for Chris Demetriou's changes made to the bus.h interface:
...
- bus_space_copy -> bus_space_copy_region (for consistency)
- "cacheable" argument becomes a "flags" argument instead, with
BUS_SPACE_MAP_CACHEABLE and BUS_SPACE_MAP_LINEAR flags currently
defined.
1997-09-06 05:44:07 +00:00
thorpej
1aa35e94d4
s/BUS_BARRIER/BUS_SPACE_BARRIER/g
1997-09-06 05:21:14 +00:00
thorpej
613ee19c60
Add DDB.
1997-09-06 02:04:18 +00:00
thorpej
1f6a8f7d03
Enable DDB.
1997-09-06 02:03:32 +00:00
thorpej
66fdddf6aa
Add DDB files.
1997-09-06 02:03:11 +00:00
thorpej
9dcf694bd2
Prototype db_register_value().
1997-09-06 02:02:25 +00:00
thorpej
998d79d26a
Add support for DDB (in-kernel debugger) to NetBSD/alpha, based on
...
such code for Mach 3's Alpha port. Initially reworked for NetBSD/alpha
by Chris Demetriou, and then heavily hacked on by me. Works, but is still
a little rough around the edges. Known problems:
- Error recovery could be improved a bit.
- Back traces don't work.
- Single-stepping can be flaky, at times. (Alpha doesn't have hardware
support for single-stepping, and I'm not entirely convinced the
MI DDB software-emulated single-stepping logic is 100% correct.)
- Logic for when to drop into DDB needs some improvement.
1997-09-06 02:00:48 +00:00
thorpej
36f209b762
Split off PALcode functions into their own header file.
1997-09-06 01:23:52 +00:00
thorpej
7df7a43ce7
When loading a symbol section, make sure it is aligned.
1997-09-05 21:50:34 +00:00
thorpej
ba8becebfc
installbood_cd9660 no longer exists.
1997-09-05 20:20:17 +00:00
thorpej
2f657a6266
Add some debugging code to log sgmap activities. Also, make sure that
...
we return "no valid mappings" if there is an error while loading the
sgmap.
1997-09-05 02:21:49 +00:00