Commit Graph

29478 Commits

Author SHA1 Message Date
thorpej
fec02f1259 No need to pull in <machine/pte.h> directly. 2001-11-23 17:23:40 +00:00
thorpej
299362f0ff Pull in assym.h for __PROG32 (needed for IRQenable/IRQdisable macros,
which should probably be pulled out of cpu.h anyway...)
2001-11-23 16:53:07 +00:00
thorpej
926df47ec4 Provide __PROG32 to assembly code. 2001-11-23 16:50:48 +00:00
uch
0dff65d9f9 add missing simple_lock_init. 2001-11-23 16:21:31 +00:00
uch
4c8f0c8ea9 Update for the new cache code. 2001-11-23 16:09:11 +00:00
uch
9d6cd691b6 integrate BUILTIN_KERNEL_LOADER and KERNE_PATH into KLOADER_KERNEL_PATH. 2001-11-23 16:08:45 +00:00
uch
6bd02d8e33 add #ifndef _LOCORE. 2001-11-23 15:48:40 +00:00
atatat
f4c8a80b47 Oops. Add in missing entry point settings. 2001-11-23 15:44:15 +00:00
bjh21
c8dbbf25b2 all -> realall, so that "make dependall" works correctly. 2001-11-23 12:58:03 +00:00
tsutsui
d8879382cf Add 32B/l L1 D/I-cache ops for newer ARC machines. 2001-11-23 06:21:49 +00:00
atatat
155e541aa2 Instead of checking for previous usage, just append to some make
variables.  Tweak some variables to provide for more uniform defaults.
Minor adaption to makefiles for already converted ports.
2001-11-23 05:18:59 +00:00
atatat
2bf2c362fb The bridge(4) pseudo-device no longer requires the port to
__HAVE_GENERIC_SOFT_INTERRUPTS, so add it back to all GENERIC configs.
2001-11-23 05:00:22 +00:00
simonb
1b1e4bd3d1 Remove hardcoded values for HZ (under different names!) from mcclock.c
and clock_machdep.h, so that now HZ can be any supported frequency of
the mc146818a/ds1287a RTCs.
Tested at 256Hz and 2048Hz.
2001-11-23 01:04:11 +00:00
thorpej
5278f1771c Remove kerndebug.h from non-Shark code (it's a Shark-specific header
file, and probably should be done away with anyway).
2001-11-22 19:19:48 +00:00
thorpej
b9d3276c2e No need for <machine/rtc.h> here. 2001-11-22 18:40:12 +00:00
thorpej
b393d0d3f7 Kill <machine/katelib.h>. Any place that still uses it should just
reference <arm/arm32/katelib.h> until such time as all use of this
file has been purged from the face of the earth.
2001-11-22 18:34:30 +00:00
thorpej
88bba2e5a4 Add cpu_cpwait() calls after TLB updates that are not expected to
be followed up by a pmap_update().
2001-11-22 18:24:43 +00:00
thorpej
67fd41ddbf Add 26-bit and 32-bit types.h files, which indicate the programming
model in use for a given platform (__PROG26 vs __PROG32), then pulls
in <arm/types.h>.  Change each ARM port to pull in <arm/arm26/types.h>
or <arm/arm32/types.h> as appropriate.  Change all references to PROG26
and PROG32 to __PROG26 and __PROG32.  Eliminate the opt_progmode.h
header file.
2001-11-22 17:59:57 +00:00
takemura
5815e5f567 Fixed bus stuff to compile vrpciu.c (VR4131 CPU). 2001-11-22 14:22:30 +00:00
tsutsui
e7fb452657 Fix some debug code in bios_configure_memory(). 2001-11-22 12:17:00 +00:00
simonb
944346b889 KNF, ANSIfy.
Change print_addr() to take an db_addr_t argument instead of a long.
2001-11-22 06:58:03 +00:00
simonb
973ad566f7 Update the CP0 register names.
Make some tables line up nicely.
Make print_addr() static.
2001-11-22 06:00:31 +00:00
soren
7e84b9e1db Add wscons devices. 2001-11-22 04:50:04 +00:00
uwe
1eebb3fde3 Add patches for Mr.Coffee with OBP2.
Miscellaneous cosmetic changes.
2001-11-22 04:18:28 +00:00
rafal
85cae1f6d1 If we already have a boot device set, don't reset the slot/unit/partition.
Now my Challenge S boots multiuser with the new bootloader without stopping
to ask for boot/root devices.
2001-11-22 03:15:35 +00:00
simonb
b9f67baecf <sys/sysctl.h> doesn't need to be after <uvm/uvm_extern.h> anymore, put
it with the other <sys/_foo_.h> include files.
2001-11-22 03:08:01 +00:00
soren
6c3e025b46 Nuke cleandir target override. 2001-11-22 02:18:24 +00:00
soren
6e9ab4848f Respect OSLoadPartition even if it doesn't come before SystemPartition in argv.
Add a few comments about the above.
2001-11-22 02:06:32 +00:00
soren
b63ced481c Note kernel load adress change. 2001-11-22 01:30:03 +00:00
soren
60ae71115a Change the kernel load address offset from 512K to 420K, the Irix
convention for debugging kernels.
2001-11-22 01:11:51 +00:00
thorpej
b2fe046c8c Move the kernel forward in memory, starting it 512K in from the
bottom of RAM.  The bootloader is now loaded 2K in from the bottom
of RAM, so we need to make space for it.
2001-11-22 00:59:23 +00:00
thorpej
aabfa72384 - Clean up the bootloader Makefiles somewhat.
- Build an ECOFF version of the bootloader as "boot".  As a temporary
  measure (due to a bug in libbfd which has not yet been fixed, but
  for which a work-around exists as a patch), install and ELF version
  of the bootload as well as "boot.elf".  "boot.elf" will go away once
  the toolchain issue is resolved.
2001-11-22 00:58:07 +00:00
jmc
5ac54229c9 Don't make the symlinks on clean rules as well as obj rules. Breaks r/o source
trees that haven't gotten to the make obj recursion part of make build
otherwise.
2001-11-22 00:14:20 +00:00
dillo
3bad9b1f33 Repeat James Chacon's fix from sys/lib/lib{kern,sa,z}:
Don't make clean and cleandir depend on the lib subdir.
	Just check for it's existance before running the submake.
	This makes it possible to run a make build (which runs
	cleandir before make obj) in a r/o source tree.
2001-11-22 00:04:55 +00:00
thorpej
3975cecee7 - Adjust bootinfo to work sanely in an ARCS world, and pass some
info along to the kernel (currently just the symbol table info).
- Don't bother with the startprog dance; we don't need to do anything
  special, here, so just call the entry point directly.
- A bunch of random cleanup.
2001-11-21 23:33:17 +00:00
thorpej
38afb59582 - Check for provided bootinfo from the bootloader. If we find it,
save off DDB symbol table information.
- Make loading of memory work reliably with the bootloader; for each
  candidate memory type from ARCS (which now includes LoadedProgram),
  check to see if the kernel is within that chunk, and load the pages
  around it if it is.
2001-11-21 23:27:20 +00:00
thorpej
741c7a2997 sbic -> wd33c93, in preparation for the core driver going into
sys/dev/ic.
2001-11-21 23:22:25 +00:00
soren
07c4b937eb prep has no special dependencies on pccons; remove. 2001-11-21 22:40:45 +00:00
soren
482d429ddc Install loader in /usr/mdec. 2001-11-21 22:14:51 +00:00
soren
57bd30a92c s/pmax/sgimips/ in comments. 2001-11-21 22:13:55 +00:00
uwe
8390d1903a Skip relocation if OpenFirmware already loaded us at the right address. 2001-11-21 21:38:00 +00:00
thorpej
e2397b7f93 Change symtab info to unsigned longs. 2001-11-21 20:31:49 +00:00
thorpej
4b1d2d4ce9 Add bootinfo stuff for NetBSD/sgimips. Changes to kernel and bootloader
forthcoming.
2001-11-21 20:29:31 +00:00
wiz
1fd7eeefcd "than" instead of "then". 2001-11-21 19:14:19 +00:00
thorpej
4e63f44f6c Initial cut at a bootloader for NetBSD/sgimips, by Michael Hitch. 2001-11-21 19:09:06 +00:00
wiz
1f1e26bd6d Presence looks better with a 'c' instead of an 's'. 2001-11-21 19:01:31 +00:00
wiz
55e6492076 Explicitly write explicitly without a second e. 2001-11-21 17:33:26 +00:00
augustss
9c6275fe9e Add a commented out ehci driver (for the adventurous). 2001-11-21 17:11:02 +00:00
uch
df2b478d48 increase the value of maxusers to 16. 2001-11-21 11:28:09 +00:00
soren
0cbd8ee484 pccons is not used by acorn32. 2001-11-21 03:43:13 +00:00
thorpej
bcc50e9703 Use strncmp() when looking up volume files. 2001-11-20 23:09:45 +00:00
thorpej
c8f26da0bd - General code cleanup (and enable warnings).
- It's perfectly legal to have an 8 byte volume filename; the trailing
  NUL is not required in this case.
- Default the partition type to "4.2BSD", not "EFS".
2001-11-20 23:07:16 +00:00
manu
675946fd1c Fixed the Linux signal trampoline and linux_sys_sigreturn(). Linux signal
delivery now seems fully functionnal.
2001-11-20 21:37:50 +00:00
rafal
52f4b0490c Stylistic fix to last. 2001-11-20 21:21:03 +00:00
soren
3f54e2c74f Add stand to SUBDIR. 2001-11-20 18:37:00 +00:00
soren
0f71151d6e stand Makefile. 2001-11-20 18:36:31 +00:00
soren
1e6da897d3 Michael Hitch's volume header tool. 2001-11-20 18:35:22 +00:00
soren
5ecc88dc2f Correct previous, pointed out by mhitch:
makebootdev() sets not booted_device but booted_protocol, so test for that.
2001-11-20 18:06:40 +00:00
thorpej
f934d91c74 The 2nd SCSI controller is now supported; remove it from the TODO list. 2001-11-20 17:38:31 +00:00
rafal
6c04d91bae Post Jason's autoconfig cleanup, the DMA tags are actually passed in from
the parent, so we don't need to look at the innards of bus_dma anymore.
Also, remove the Todo item pertaining to autoconfig cleanup from the list
in the comments.
2001-11-20 16:10:49 +00:00
rafal
c4596a56c0 Fix up Jason's last cleanup (thanks for that, btw!!)... Don't attach
hpc child devices that don't match our systype.  Attempting to attach
a wdsc1 on my Challenge S locks the box hard.
2001-11-20 16:09:00 +00:00
lukem
0fa231134c - replace "defopt" with "defparam" for options which must take a value,
as config(8) will warn for value-less defparam options
- minor whitespace/formatting cleanup
- consolidate opt_tcp_recvspace.h and opt_tcp_sendspace.h into opt_tcp_space.h
2001-11-20 14:34:18 +00:00
lukem
03aef4723c cleanup:
options SPACE TAB
	makeoptions TAB
	psuedo-device TAB
	remove trailing whitespace
	replace multiple spaces -> tabs
	options "FOO" -> options FOO
	options "FOO=bar" -> options FOO=bar
	options "FOO=\"bar\"" -> options FOO="\"bar\""
2001-11-20 12:56:17 +00:00
lukem
fac48ee4de whitespace cleanup
add (commented out) RAID_AUTOCONFIG below raidframe entry
2001-11-20 12:46:15 +00:00
lukem
26930db20a regenerate for whitespace cleanup 2001-11-20 11:30:44 +00:00
lukem
fdd071b188 cleanup whitespace 2001-11-20 11:29:41 +00:00
lukem
5997b30883 remove trailing whitespace (including in generated files) 2001-11-20 11:26:10 +00:00
lukem
99bccc3cab - pull in opt_kgdb.h where necessary
- replace opt_kgdb_machdep.h with opt_kgdb.h
- defparam opt_kgdb.h:
	KGDB_DEV KGDB_DEVNAME KGDB_DEVADDR KGDB_DEVRATE KGDB_DEVMODE
- move from opt_ddbparam.h to opt_ddb.h:
	DDB_FROMCONSOLE DDB_ONPANIC DDB_HISTORY_SIZE DDB_BREAK_CHAR SYMTAB_SPACE
- replace KGDBDEV with KGDB_DEV
- replace KGDBADDR with KGDB_DEVADDR
- replace KGDBMODE with KGDB_DEVMODE
- replace KGDBRATE with KGDB_DEVRATE
- use `9600' instead of `0x2580' for 9600 baud rate
- use correct quotes for  options KGDB_DEVNAME="\"com\""
- use correct quotes for  options KGDB_DEV="17*256+0"
- remove unnecessary dependancy on Makefile for kgdb_stub.o
- minor whitespace cleanup
2001-11-20 08:43:19 +00:00
chs
7305fb6b53 include COMPAT_AOUT_M68K stuff. 2001-11-20 07:48:31 +00:00
chs
77b6c48c4c support both ELF and a.out symbols for DDB. 2001-11-20 07:45:04 +00:00
enami
d4813d9d45 Just test if DEBUG_MEMLOAD is defined or not instead of testing its value. 2001-11-20 07:44:17 +00:00
enami
78bcf7e362 Cosmetic changes to previous commit. 2001-11-20 07:42:33 +00:00
shin
07356ec733 improve r4k_sdcache_XXX_generic(). 2001-11-20 06:32:21 +00:00
lukem
399b58be96 whitespace cleanup 2001-11-20 06:00:09 +00:00
chs
8f0070db30 prepare for ELF:
- add "%" prefix to register names in assembly code.
 - use _C_LABEL() where necessary.
 - use packed structures where necessary to match the old ABI.
2001-11-20 03:19:41 +00:00
chris
04d6054972 Correct comment to avoid confusion, it really means 32 bits not 32 bites. 2001-11-20 00:22:33 +00:00
matt
77ab725cbb Enable DOZE mode for the 604ev. 2001-11-19 23:30:07 +00:00
matt
3ae5a183aa Fix boot device selection when booting from an alias. If the bootpath
isn't an OFW device, look it up in /aliases and substitute the bootpath
found into the string.  This allow device_register to do it's thing.
Key off the drive number, not the channel, in autoconf.c.  Closes PR#13756.
2001-11-19 23:22:48 +00:00
chris
165b023373 Give the idle loop a non-profiled entry, means it appears in profile info correctly (rather than all it's time being under remrunqueue)
switch_exit only needs to take 1 parameter, it loads the value of proc0 into R1 itself
Fixup some comments to reflect the real state of things.
Tweak a couple of bits of asm to avoid a load delay.
remove excess code for setting curpcb and curproc.
2001-11-19 20:38:58 +00:00
thorpej
ba9581a345 Reorder the device table to make the UART at J9 attach before the
UART at J10 (this is the same ordering the RedBoot uses, and also
is intuitive).
2001-11-19 19:08:33 +00:00
thorpej
2d7fd0a8b8 Implement pmap_update(). Currently it just calls cpu_cpwait(),
which ensures that TLB/cache operations have completed.
2001-11-19 18:41:32 +00:00
thorpej
887bcc078e Add a "cpwait" cpufunc, currently a nullop on all but XScale.
"cpwait" ensures that all coprocessor operations have completed
before returning.
2001-11-19 18:40:15 +00:00
soren
f270ebd294 Remove obsolete comment. 2001-11-19 17:39:54 +00:00
soren
b76c8dbfc9 Remove netbsd.high Ind* load address hack and use a separate
distribution GENERIC instead.
2001-11-19 17:39:31 +00:00
soren
db0828bda0 Remove driver options that don't belong in std.sgimips. 2001-11-19 17:38:24 +00:00
soren
3fe377a8b9 s/sgi/sgimips/
Remove __NO_SOFT_SERIAL_INTERRUPT.
2001-11-19 17:36:41 +00:00
soren
a36dfe843b Since we can get boot device information from both the boot loader
and the firmware, we allow it to be set only once, so the boot
loader is given highest priority.
2001-11-19 17:35:15 +00:00
soren
6413de2df4 Get L2 cache line size from ARCS.
Remove hack to disable (standard) L2 caches.
2001-11-19 17:33:02 +00:00
soren
ce57fc2bba Also check SystemPartition when finding boot device. Especially
when netbooting, it is practical to load the kernel directly.
2001-11-19 17:29:53 +00:00
soren
77a301e0e8 s/sgi/sgimips/ 2001-11-19 17:28:23 +00:00
chs
621a9ec9ea allocate and free page table pages explicitly instead of abusing
uvm_fault_wire().  this allows us to make pt_map non-pageable,
but we need to be careful in pmap_remove() not to attempt to
reference PTEs after the PTP has been freed.
2001-11-19 06:40:11 +00:00
tls
b8b40ad95c Who are we kidding? Nobody installs over a DS-3, and I seriously doubt
that anyone installs over HIPPI either.  On the other hand, lots of people
would like to be able to install over their wireless networks or with their
Tigon Gig-E cards: so, let's synchronize this file's contents with the
modern world (at least a little bit).

Note that we really need to decide whether, as they used to be, the INSTALL
config files will be GENERIC with some lines *deleted* or whether they will
be GENERIC with some lines commented out.  Using both styles is bad, but I
haven't fixed it in this commit.
2001-11-19 02:17:18 +00:00
thorpej
6e69c4e62c Add mips_dcache_align and mips_dcache_align_mask variables that
contain information suitable for allowing other parts of the kernel
to determine if a memory region is aligned to the largest data cache
line size present in the system.

Add a mips_dcache_compute_align() function which must be called whenever
one of the data cache line size variables is changed, in order to
compute mips_dcache_align and mips_dcache_align_mask.
2001-11-19 01:28:07 +00:00
chs
14b5abfd92 allocate and free memory explicitly rather than abusing uvm_map_pageable(). 2001-11-18 19:28:34 +00:00
thorpej
4609c9fbb4 r4k_sdcache_wbinv_range_index_32(): fix a typo (16 -> 32). 2001-11-18 18:48:55 +00:00
thorpej
e6cab2e799 Add 128b/l L2 cache ops. 2001-11-18 18:46:20 +00:00
bjh21
5fbb068685 Remove printf from pmap_clear_modify; it triggers too often. 2001-11-18 15:57:23 +00:00
bjh21
b5dff60f89 Several changes (sorry!):
Refuse to clear the modified bit on a page if it has a writeable kernel
mapping.  I'm not sure this is the right thing to do, but since further
writes to the page won't set the bit again, it's safer than clearing it,
and makes NFS writes work properly.

Add debugging code for modified-bit emulation, which checksums
allegedly-unmodified pages to see if they're _really_ unmodified.
Disabled by default because it's slow.

In the process, fix a bug in pv_release whereby the modified bit for a
page got cleared when its last mapping was removed.  This seems to finish
the NFS write fixes started by the first change above.
2001-11-18 15:47:36 +00:00
kleink
81611660e5 Fix printf format in DEBUG case. 2001-11-18 15:30:43 +00:00
jdolecek
1dae310858 fix typo 2001-11-18 13:48:00 +00:00
bjh21
0d20115da8 Match multiple-include-protection macros to name of file. 2001-11-18 13:10:57 +00:00
bjh21
306ca6424a Roll back last change. Acorn32, being a major port, shouldn't switch to ELF
until the ABI is finalized.
2001-11-18 13:09:27 +00:00
thorpej
38b076b60c zsc does not needs-count 2001-11-18 08:24:33 +00:00
thorpej
431af33735 Tweak for HPC autoconfig changes. 2001-11-18 08:21:38 +00:00
takemura
1d1d5c87af Rewrite bus stuff with method table in the bus tags. 2001-11-18 08:19:39 +00:00
thorpej
be010c72ef * Clean up HPC autoconfiguration a little. Pass device register and
DMA register offsets, as well as IRQ, to children.  Use direct
  config.  Use machine type/subtype to determine which devices are
  present.
* Add support for the second SCSI controller on the Indigo2.
2001-11-18 08:16:15 +00:00
briggs
fd5f7080b3 Correct operation of non-pseudo-DMA mode. Used on 660 & 840 AV models.
From Takeshi Shibagaki<ie9t-sbgk@asahi-net.or.jp>.
2001-11-18 05:22:32 +00:00
thorpej
8edf2c6d98 * Add a callback to the front-end for the 33c93 driver to reset
the controller/SCSI bus.
* Implement controller/SCSI bus reset on SGI HPC3 SCSI using the
  "channel reset" bit in the SCSI DMA channel control register.
2001-11-18 05:14:38 +00:00
simonb
0f3507ed9c White space nit. 2001-11-18 03:47:53 +00:00
someya
9c13958025 add autri (Trident 4DWAVE based AC'97 audio) 2001-11-18 03:24:38 +00:00
gmcgarry
2cabf5a2e2 Update for new RTC and HIL attachments. 2001-11-17 23:56:21 +00:00
gmcgarry
8efcc1d46b Convert hil to standard device attachment. 2001-11-17 23:53:37 +00:00
gmcgarry
4d380420ae Use new RTC attachment. 2001-11-17 23:51:03 +00:00
gmcgarry
d9b1140ca5 Merge some fixes from clock.c, revision 1.23. 2001-11-17 23:48:15 +00:00
gmcgarry
257f825d26 Device attachment for the real-time clock. 2001-11-17 23:38:32 +00:00
gmcgarry
3cf284349d Update for new intio parent interface. 2001-11-17 23:35:31 +00:00
gmcgarry
224cd45a75 Overhaul the intio device attachment. Devices are direct connected and
attached based on machine id.
2001-11-17 23:33:22 +00:00
gmcgarry
3acacb5fc1 Make hil interrupts come through the standard dispatch mechanism rather
than its custom handler.
2001-11-17 23:29:08 +00:00
gmcgarry
40aa97f8b1 For INTIO space, use an offset for the mapping rather than the physical
address.
2001-11-17 23:26:55 +00:00
gmcgarry
4b62b5b023 Don't try to mmap the framebuffer as executable. Fixes MMU faults
when executing the X server.
2001-11-17 23:25:04 +00:00
kleink
852f87fe13 i386_memio_mmap(): return -1 to indicate failure, not EOPNOTSUP. 2001-11-17 19:32:03 +00:00
kleink
4a41ec8583 In fdopen():
* Defer deref'ing of `un' until it's been initialized.
* Kludge around a false-positive uninitialized warning.
Brought to you by the graces of GCC 2.95.3.
2001-11-17 19:00:25 +00:00
kleink
117651c65e Can't pass temporary storage to an inline assembly statement as input
operand; debunked by GCC 2.95.3 as uninitialized.
2001-11-17 18:55:57 +00:00
christos
e36e7f175a Add transmeta crusoe cpu support from toshi. 2001-11-17 08:21:43 +00:00
christos
79f74a0b0f Add transmeta crusoe cpu support from toshi's fiva patches. 2001-11-17 08:20:58 +00:00
thorpej
21c0578357 Walk the ARCS device tree to find the L2 cache size. 2001-11-17 01:19:58 +00:00
bjh21
04e005d19a Don't bother setting lint flags. arm26 doesn't pass lint anyway, so we may
as well use the defaults.
2001-11-16 14:53:47 +00:00
bjh21
eff0c97bb0 Use the exciting new MI kernel building machinery on arm26. 2001-11-16 14:46:16 +00:00
bjh21
294f95152f db_interface.c:
Include <ddb/db_access.h> for db_read_bytes etc prototypes.
  Add prototype for db_trapper().
  Move prototypes for "machine" subcommands to db_machdep.h.
db_machdep.h:
  Add prototypes for "machine" subcommands.
2001-11-16 14:39:30 +00:00
bjh21
73dd1b11c1 Include <uvm/uvm_extern.h> for pagemove() prototype. 2001-11-16 13:48:33 +00:00
bjh21
4244e4f4ce Add a prototype for pmap_dump(). Since this function is only called from
DDB, there's no suitable header file.
2001-11-16 13:47:06 +00:00
junyoung
12b82871db Add pseudo-device wsfont, which is necessary to make wsfontload(8)
work.
2001-11-16 13:46:31 +00:00
bjh21
aacfb7f42c Include <sys/sysctl.h> for cpu_sysctl() prototype. 2001-11-16 13:41:58 +00:00
bjh21
77c5245c8f Fix names of bus_space_copy_region_1() and bus_space_copy_region_2(). 2001-11-16 13:34:03 +00:00
bjh21
6b12ec55b2 Add prototypes for undefinedinstruction() and resethandler(). 2001-11-16 13:12:06 +00:00
gmcgarry
e9ec95622b Remove unnecessary trailing argument. Now compiles with new toolchain. 2001-11-16 08:14:05 +00:00
atatat
d5de3c2fb2 Abstract out a large chunk of the kernel build machinery so that new
build features (such as ross's DEBUGLIST) can easily be applied to all
ports.  This should reduce the complexity of each port's kernel
Makefile considerably.  Line counts:

     227 arch/i386/conf/Makefile.i386.orig
      98 arch/i386/conf/Makefile.i386
     227 arch/alpha/conf/Makefile.alpha.orig
      99 arch/alpha/conf/Makefile.alpha
     219 arch/sparc/conf/Makefile.sparc.orig
     102 arch/sparc/conf/Makefile.sparc
     215 arch/vax/conf/Makefile.vax.orig
     102 arch/vax/conf/Makefile.vax
     253 conf/Makefile.kern.inc

Roll i386, alpha, sparc, and vax over to the new build machinery.
2001-11-16 00:23:02 +00:00
thorpej
6b842c44f3 MACHINE_ARCH == arm on hpcarm. 2001-11-15 19:35:31 +00:00
thorpej
0b6370bfee Implement __cpu_simple_lock*() primitives using the SWP insn. Note
this insn is available only on ARM arch v3 and later (and 2a).  We
don't expect to be using these ops in the kernel on processors too
old to have SWP, and for userland uses (in e.g. a pthread library),
the kernel will simply have to trap and emulate the insn (it needs
to be "atomic", so a kernel trap of some sort will be necessary on
such platforms anyway).
2001-11-15 19:22:32 +00:00
soren
662f877587 MAXSLP is defined to be a machine-independent scheduling parameter,
so move it into sys/param.h.
2001-11-15 18:06:11 +00:00
lukem
95c969f245 add RCSID 2001-11-15 07:03:28 +00:00
chs
a69c43b997 fix pmap_extract() to handle addresses with a PTP but an invalid PTE. 2001-11-15 05:16:41 +00:00
thorpej
283e0a4c6e We need to declare the "plcom" device in files.evbarm, since a
"plcom.h" header file needs to be generated for conf.c even for
non-Integrator kernels.
2001-11-14 23:47:51 +00:00
thorpej
6445977d84 Slight cleanup. 2001-11-14 23:02:02 +00:00
tv
48c09b6243 Work around <bsd.lib.mk> used for kernel libs in other places. Clean up
include paths.
2001-11-14 23:01:13 +00:00
mhitch
636eb23869 When loadfile() leaves the ELF header at the end of the kernel, it enables
erroneous code that tries to compute the end of the symbol table.  Disable
that for now so that kernels don't hang when booted from the disk.
2001-11-14 22:47:16 +00:00
matt
b0372f6f25 Add brgphy 2001-11-14 21:25:15 +00:00
thorpej
ceb42fbf3f This file is not used. 2001-11-14 21:17:17 +00:00
matt
a6d8d89acf Bump the default macppc MSGBUFSIZE to 12KB so we can get an entire
sequence of boot messages.
2001-11-14 20:55:34 +00:00
matt
34d4887431 Some #ifdef cleanup for DIAGNOSTIC/DEBUG/PMAPCHECK so that that many of
the expensive checks are skipped when (!DEBUG&&!PMAPCHECK) and all of the
light-weigth checks are skipped when (!DIAGNOSTIC&&!DEBUG&&!PMAPCHECK).
This bring pmap.o's text down from 21KB (with PMAPCHECK) to 18.5KB (DEBUG)
to 16KB text (!DIAGNOSTIC).
2001-11-14 20:38:22 +00:00
thorpej
bd15cfaed8 Merge the thorpej-mips-cache branch onto the trunk. This is an
overhaul of how caches are handled for NetBSD's MIPS ports.
2001-11-14 18:26:21 +00:00
thorpej
af66038f73 Merge the thorpej-mips-cache branch onto the trunk. This is an
overhaul of how caches are handled for NetBSD's MIPS ports.
2001-11-14 18:15:10 +00:00
hubertf
95bf3bc4cd add pseudo-device rnd - it's needed by sshd 2001-11-14 13:25:19 +00:00
thorpej
be13b85887 * Give the XScale its own cpu_control() entry point; we have to flush
the Branch Target Buffer of the BPRD bit changes.
* Enable Branch Prediction on the XScale by default.
* Don't invalidate the Branch Target Buffer explicitly. the i80200
  manual (section 5.1, Branch Target Buffer Operation) notes that
  manual software management of the BTB is unnecessary; it is flushed
  implicitly when:
     * processor resets
     * FCSE process ID is written
     * I-cache is invalidated
2001-11-14 01:00:05 +00:00
tv
5489b30b60 ${MAKE} print-objdir -> ${PRINTOBJDIR} 2001-11-14 00:58:48 +00:00
thorpej
91f49d269d Eliminate some duplicated code here (similar to XScale code):
* sa110_cache_purgeD() is the same as sa110_cache_cleanD() on the
  SA-1 -- make it an alias.
* sa110_cache_syncI() and sa110_cache_purgeID() are identical to
  sa110_cache_cleanD() on the SA-1, with the exception that the
  I-cache must also be flushed.  Save code duplication by moving
  the I-cache flush before the D-cache clean and letting it fall
  through.
2001-11-14 00:08:05 +00:00
augustss
b684acbf39 Add wsmux (it seems to work now). 2001-11-13 17:56:30 +00:00
augustss
c5477b70aa The wsmux pseudo device does not need a count anymore. 2001-11-13 17:54:46 +00:00
isaki
2108a5c977 Rewrite vs_query_encoding() using array. 2001-11-13 09:27:06 +00:00
isaki
c2e9ead40b Clean up debug messages. Separate it two debug levels. 2001-11-13 09:06:00 +00:00
perry
9f8afd5252 Make the type of ports in the in*()/out*() routines u_long instead of
int. Massively reduced kernel lint, causes no harm. Discussed
extensively with christos and thorpej.
2001-11-13 03:27:50 +00:00
uwe
0c392b9e2f Move dvma_cachealign to cache.c where it belongs and declare it in
cache.h, so that kernel can be linked without iommu support (for the
sake of microSPARC-IIep that has a very different iotlb).
2001-11-13 03:04:50 +00:00
pk
4f1fe56be8 Remove redundant declarations. 2001-11-12 16:32:25 +00:00
simonb
1143123ee5 Fix pasto in a comment. 2001-11-12 11:12:16 +00:00
matt
ab93af26ea Fix pte_clear to TLB flush the va, not the tlb adress (which is only valid
for clearing the ref bit).  pvo_to_pte (if !diagnostic) will return NULL
immediately if PTE_VALID is not set.
2001-11-11 23:07:02 +00:00
chris
8298c55eab Correct comments for ffs algoritm (it isn't using register r0) 2001-11-11 22:07:41 +00:00
thorpej
944fcd0d83 Allocate the appropriate space for the XScale global cache clean code. 2001-11-11 17:30:14 +00:00
rafal
1a9f819d84 Make microtime(9) do interpolation to get better-than-hz resolution, if
the platform supplies a clkread function that does something other than
return 0 (which is the default unless overridden by the platorm code).
Supply such a function for the IP22; even if it isn't perfect, it goes
a long way to making ntp usable.

While I'm at it, move the ticks-per-hz variable out of the struct platform
since it's really private to the per-platform interrupt/clock code.

XXX: No clkread function supplied for IP32, since it has other problems --
like a hardcoded ticks-per-hz, but the same code as on the IP22 could be
used.
2001-11-11 17:21:40 +00:00
thorpej
b75edaf367 Some fixes/cleanup to the XScale cache clean code:
* Define a CPWAIT macro as described in the i80200 manual and use it,
  rather than replicating the code in a few places.
* The i80200 manual notes that the line-allocate operation used to
  do global D$ clean does not actually perform a load/fill request
  from external memory, and thus does not actually place valid data
  in the cache lines allocated.  Require that machine-dependent code
  allocate an appropriately-sized chunk of unmapped VA space for the
  global clean operation in order to avoid unpredictable results.
* The i80200 manual notes that the VA range for the Mini-Data global
  clean (which *must* be mapped to physical memory) must be reserved
  exclusively for cleaning the Mini-Data cache.  Require that machine-
  dependent code allocate an appropriately-sized chunk of memory for
  this purpose.
2001-11-11 17:18:27 +00:00
thorpej
4ffa983428 Pull in common 32-bit ARM VM parameters. 2001-11-11 16:44:15 +00:00
thorpej
c653a0ee51 Even though the ARM architecture defines large, standard, and small
pages, we use the standard (4K) page size as PAGE_SIZE.  Make the
PAGE_SIZE related variables compile-time constants that reflect this.

Results in a bit over 2K worth of .text savings, and visibly better
code in the places that use PAGE_SIZE, etc.
2001-11-11 16:40:36 +00:00
isaki
db0f7ea415 add Nereid. ne* at intio0 2001-11-11 01:40:29 +00:00
isaki
85e2e11f39 Support an ethernet part of Nereid.
Nereid is the board of ethernet/USB/memory for X68k
developed by X-PowerStation, a japanese X68k circle.
See http://xps.jp/ but only written in japanese.
2001-11-11 01:39:02 +00:00
isaki
20d2e2f7e8 Support BUS_SPACE_MAP_SHIFTED_EVEN for bus_space_map().
Now BUS_SPACE_MAP_SHIFTED means BUS_SPACE_MAP_SHIFTED_ODD.
It is needed for Nereid Ethernet.
2001-11-11 01:38:00 +00:00
thorpej
2ea8a793d0 * Define prologue/epilogue macros for the cache clean functions,
and use them, like we do in the SA-1 code.
* Use numbered labels for loops.
2001-11-11 01:05:11 +00:00
thorpej
3492e0ce0b Fix a missing-whitespace typo. 2001-11-11 01:02:58 +00:00
thorpej
eb8206f223 Use numeric labels for loops. 2001-11-11 00:47:49 +00:00
thorpej
de8e924e4c * Define prologue/epilogue macros for the cache clean functions,
and use them, rather than replicating the code several times.
* Use numbered labels for loops.
2001-11-11 00:41:48 +00:00
soren
3566ffe886 Fix vnd pastoes. 2001-11-11 00:38:30 +00:00
thorpej
ddb435fb56 Define KERNEL_TEXT_BASE, ALT_PAGE_TBLS_BASE, and KERNEL_VM_BASE
in terms of KERNEL_BASE.
2001-11-11 00:32:02 +00:00
thorpej
fe9e809208 Add a comment explaining that we expect the memory controller
registers to already be subregion'd off, and actually init
the PCI DMA tag.
2001-11-10 23:14:51 +00:00
thorpej
9e1b785626 Split all the model/version-specific cpufuncs into separate files
corresponding to the model/version.
2001-11-10 23:14:08 +00:00
thorpej
a27687fb2f Fix some whitespace. 2001-11-10 23:12:41 +00:00
wdk
571fbc80c7 Tidy up debug logic
Fix compile errors when DIAGNOSTIC or DEBUG options disabled.
2001-11-10 22:54:54 +00:00
perry
2cff38a9ba trivially rename some macro parameters to avoid lint warnings. 2001-11-10 22:21:00 +00:00
jklos
e00ba8ee0d Now properly probes for cards with 64k of buffer. Reversed order
of tests in case space isn't fully decoded.
2001-11-10 21:32:33 +00:00
tsutsui
3f6a86f512 Add some definitions for battery backed clock register 5,
and fix one spelling nit.

Mostly from port-hp300/8824, which had already pointed out
y2k (and y2k+1) bugs before 2000, but they were not fixed
till the last month. (I noticed this PR today. Oops)
2001-11-10 19:43:48 +00:00
augustss
c64847f048 If the RTC gives a time more than 1000 days before file system time then
use the file system time.  (My iMac seems to give 1904 as the year very
often (dead battery?), and setting the correct date with ntpdate doesn't
seem to work.)
2001-11-10 15:37:40 +00:00
wdk
7f5269c58f NetBSD Disklabel and SGI Volume header support. Based on NetBSD/mipsco
due to its similarities.

Patch has been tested by many people on the sgimips list for some time with
no complaints.

Contributed by: Christopher SEKIYA <wileyc@rezrov.net>
2001-11-10 07:35:17 +00:00
wdk
de81761c50 Complete overhaul of WD33c93 SCSI driver
- Full support for SCSI-2 Tagged commands (enabled by default)
 - Implement save and restore datapointer messages
 - Formalize interface between MI and MD drivers.
 - decouple interface between MD driver and DMA routines
 - Use scsipi layer where appropriate (Tags, Sync Negotiations etc)
 - control blocks stored using kernel pool(9) functions
 - evcnt(9) compliant counters
 - Enable advanced features on later WD33c93 chips.
   (Identify message out phase is hardware assisted)
 - Improved timeout support (one per active control block)
 - Improved MESG_IN and MESG_OUT handling
 - Start to tidy up debugging output
 - Numerous bug fixes and cleanups throughout

Changes are based largely on the NCR53c9x MI driver for ideas on
how to DTRT.
2001-11-10 07:32:42 +00:00
shin
82c810212c make this compile without DDB. 2001-11-10 06:56:35 +00:00
sato
c702430929 MCR-300/310/320/330/for Docomo have same PWCTL_LCDLIGHT, PWCTL_LCD port. 2001-11-10 04:53:47 +00:00
thorpej
615b7aff22 Delete an option that doesn't really exist. 2001-11-10 00:18:17 +00:00
thorpej
fa6ae96384 This file is not used. 2001-11-10 00:13:58 +00:00
thorpej
f03c5f5a7c Add VERBOSE_INIT_ARM and SYMTAB_SPACE options (commented out). Add
devices: iopxs (i80312 Companion I/O), pci, ppb, fxp, inphy, ukphy.
2001-11-10 00:11:11 +00:00
thorpej
8a0624f3a4 Add some missing backslashes. 2001-11-09 23:36:52 +00:00
thorpej
d1f4bf74ca Add support for PCI DMA on the i80312. We currently just do
DMA via the Secondary Inbound window, for now.  Will probably
need to revisit this at some point.

Require that the board-specific i80312 front-end slice off a
subregion for the memory controller before calling i80312_attach(),
and fix a bug in the IQ80310 front-end that caused the Secondary
Inbound window to be configured incorrectly.
2001-11-09 23:15:52 +00:00
thorpej
3797f5214d Fix typos in determing the ATU and PPB bus numbers. 2001-11-09 22:47:48 +00:00
thorpej
c3dc4c8c9e Add PCI_NETBSD_CONFIGURE. 2001-11-09 20:59:39 +00:00
thorpej
393b381a6d PCI interrupt mapping support for the IQ80310. 2001-11-09 20:58:57 +00:00
scw
45e7238a02 Bump the version numbers of all bootloaders which use loadfile_elfXX() now
that it tries hard to avoid backwards seeks.
2001-11-09 19:53:11 +00:00
thorpej
d32191e3da Add support for configuring the PCI bus (starting with the Secondary
bus only, for now).

XXX Some cleanup wrt. pci_conf_interrupt() needs to happen.
2001-11-09 19:48:35 +00:00
thorpej
b1ec255377 Add a "firstbus" argument to pci_configure_bus(), indicating the
first bus number to use, rather than always assuming that we should
start at bus #0.
2001-11-09 19:29:12 +00:00
thorpej
671a1b111f Print the fault PC for non-USR Prefetch Aborts. 2001-11-09 19:04:23 +00:00
scw
439d3ea3cb G/C some debug printfs inadvertently left in the last commit. 2001-11-09 18:27:59 +00:00
scw
2f42a5932e Implement just enough of an lseek() to keep loadfile_elf32() happy.
While I'm here, bump RAWFS_BSIZE up to 8192 since the installation
instructions use "bs=8k oconv=sync". My Archive Viper now streams
nicely while booting.
2001-11-09 18:25:11 +00:00
scw
dca93f1b48 The success/failure status for some Bug syscalls is indicated by the Z
flag in the status register, not by a value on the stack.

How this ever worked for so long is beyond me...
2001-11-09 18:18:19 +00:00
thorpej
82c11eec1c Clear the Master Abort after reading config space for a non-existent
PCI device.  Disable debugging messages, as PCI config space works now.
2001-11-09 18:04:10 +00:00
thorpej
42a10f6cd4 Implement a badaddr_read() routine which performs a load of the
specified size for the caller, and returns true or false indicating
whether or not a Data Abort occurred (i.e. the address was "bad").
2001-11-09 17:58:00 +00:00
thorpej
d16c00cfb2 Disable the ATU interrupt sources (i.e. interrupts that occur when
we get Master or Target aborts).
2001-11-09 17:44:43 +00:00
thorpej
10392361f8 Make the DDB trace output a lot easier to look at. 2001-11-09 16:49:29 +00:00
thorpej
13aa19d0fc Eval boards usually don't have boot loaders. If we're lucky, we
have firmware that understands ELF.  We're usually stuck with S-Records.
To make life easier, attempt to stuff kernel symbols into the image
with dbsym(8).

If the kernel doesn't have SYMTAB_SPACE, or if the SYMTAB_SPACE is too
small, the kernel build continues as normal; this is just a convenience
measure.
2001-11-09 07:39:25 +00:00
thorpej
147b1bdc1c Add some rudimentary support for ELF symbols in DDB on the ARM ports.
On platforms which load the kernel sans symbols directly from firmware
(possibly in e.g. S-Record format), call ddb_init() with empty arguments,
so that it will search any compiled in SYMTAB_SPACE.  On all other platforms,
if __ELF__, also call ddb_init() with empty arguments until ELF bootloaders
which pass symbol information are ready.
2001-11-09 07:21:37 +00:00
thorpej
47514a31be Remove unneeded declarations of the db_machine_init() function. The
ARM ports are the only ones that actually have one, and it is about
to change.
2001-11-09 06:52:23 +00:00
matt
e85e9a59a1 Make this compile under ELF. 2001-11-09 05:31:44 +00:00
thorpej
b72e770a8a IQ80310-specific setup for the i80312 Companion I/O chip driver. 2001-11-09 03:31:37 +00:00
thorpej
660b98b7dc Snapshot of work-in-progress for Intel i80312 Companion I/O chip;
just basic Inbound and Outbound window setup is done, PCI configuration
space access (not quite working yet), and I/O and Memory space routines
so far.
2001-11-09 03:27:51 +00:00
simonb
0000c94242 Delete "break"s and "return"s after the math_abort() macro, which itself
finishes with a "return".
2001-11-09 00:38:57 +00:00
thorpej
3130a93ac8 Remove unnecessary prototypes for zero_page_read{only,write}(). 2001-11-09 00:34:34 +00:00
eeh
d0f2652711 Overhaul the interrupt system to use hardware interrupts directly. 2001-11-08 23:28:13 +00:00
scw
61fd713a11 Commit a change I've had lying around for a while: Initialise wired
PTEs with `PG_U' to avoid them being needlessly updated when first
accessed.
2001-11-08 21:53:44 +00:00
scw
05c8b8d35b Fix a couple of uninitialised variable warnings with New Toolchain. 2001-11-08 21:41:42 +00:00
scw
a1cf047679 Fix a couple of uninitialised variable warning with New Toolchain. 2001-11-08 21:40:25 +00:00
reinoud
a822070813 Note the addition of arch/acorn32 as Acorn's line of ARM 6,7,SA machines. 2001-11-08 16:47:51 +00:00
gmcgarry
2cd41580a7 Make install observe ${INSTPRIV} 2001-11-08 07:45:25 +00:00
gmcgarry
12b20b6dde Use crufty old clock-handling code for now. 2001-11-08 07:01:33 +00:00
gmcgarry
f410d2f08f Implement bus_space_vaddr() 2001-11-08 06:32:02 +00:00
gmcgarry
3fe33b077f Reserve for wscons. 2001-11-08 06:27:45 +00:00
thorpej
64d042b3b3 Correct a comment. 2001-11-08 04:18:46 +00:00
thorpej
05dfd6cada * Define fixed virtual addresses for the Primary and Secondary
PCI I/O spaces, as well as the i80312 PMMRs.  Map these regions
  in early bootstrap along with the on-board device address space.
* Adjust call to i80312_sdram_bounds() for the new way the PMMRs
  are defined in i80312reg.h
* Word around some serious braindamage in RedBoot -- RedBoot uses
  the on-board Ethernet to TFTP the kernel image.  However, it does
  not stop the Ethernet before transferring control to the loaded
  program.  This means that if it happens to receive another packet
  (broadcast/multicast/unicast), it will happily scribble over the
  memory of the new running program.  Work around this problem by
  performing a secondary-bus-reset on the i80312's PPB.  XXX This
  could be problematic if we ever encounter an application where
  the i80312's PPB is actually used as a passthrough PPB.
2001-11-08 03:28:53 +00:00
thorpej
64f23a2423 Adjust the way the PMMRs are defined -- offsets from a base, not
absolutes.  Also, add PPB and more ATU registers.
2001-11-08 03:20:36 +00:00
thorpej
f30c8426f2 Fix delay(). 2001-11-08 02:12:05 +00:00
christos
c7be54ce17 increase the size up to the max for the floppy. 2001-11-08 02:11:38 +00:00
aymeric
77dd4deaa6 introduce an interrupt_depth variable which counts how nested we are into
interrupts.
This allows hardclock() to account for the time spent in interrrupts, and
as a side-effect, top(1), systat(1) and others will no more report 0% of
interrupt activity.

mvme68k does that already.
2001-11-07 23:25:03 +00:00
bjh21
a2d0fc8a64 Small debugging improvements. 2001-11-07 19:53:19 +00:00
bjh21
c11b878473 Detect overruns before reading any data. This makes overruns easier to
understand.
2001-11-07 19:52:59 +00:00
bjh21
67feec8608 Lose options GATEWAY. 2001-11-07 19:45:48 +00:00
yamt
4475186a1d correct comment. 2001-11-07 10:52:08 +00:00
yamt
5fa0dfa754 use biosdelay instead of adhoc loop. 2001-11-07 08:46:24 +00:00
thorpej
9cc2517cfe When we read the interrupt status bits, mask it with the shadow copy
of the "currently enabled interrupts" -- the CPLD appears to light
up the status bit even if it doesn't cause the CPU IRQ line to be
asserted.
2001-11-07 02:56:18 +00:00
thorpej
0ea59754f1 We were already cheating w/ CPLD register access, so cheat all the
way and use pointer derefs rather than bus_space to access them.
2001-11-07 02:24:18 +00:00
thorpej
4a2c5fd66d * Pass the IRQ number to stray_irqhandler() and display it in
the panic message.
* Mask off undefined bits from the XINT3 and XINT0 registers in the CPLD.
2001-11-07 02:06:37 +00:00
thorpej
acf9a688a0 Rework and fleshing out of Intel IQ80310 XScale eval board support.
More work to do -- this is a snapshot of work-in-progress.
2001-11-07 00:33:22 +00:00
thorpej
492b42cff8 Garbage collection. 2001-11-07 00:19:13 +00:00
thorpej
b9364bb468 First cut at XScale setup code. Needs more work. 2001-11-07 00:17:36 +00:00
thorpej
46309d6bc6 Const poisoning of cpu/class names. 2001-11-06 20:39:13 +00:00
thorpej
5b3f78d953 "i80200", not "80200". 2001-11-06 20:02:13 +00:00
thorpej
f12c8ee306 "XScale", not "Xscale". 2001-11-06 19:59:43 +00:00
thorpej
daae0ad947 If BOARDTYPE == iq80310, make an S-records version of the kernel
as well.
2001-11-06 19:53:22 +00:00
thorpej
e8982cb969 Make it possible for Makefile.${MACHINE}.inc to provide extra
stuff at the end of SYSTEM_LD_TAIL.
2001-11-06 19:52:21 +00:00