thorpej
d1ad2ac4f2
Rather than referencing the cfdriver directly in the cfdata entries,
...
instead use a string naming the driver. The cfdriver is then looked
up in a list which is built at run-time.
2002-09-27 02:24:06 +00:00
thorpej
7f33c64040
Get the pointer to the driver name early, rather than constantly
...
deferencing the cfdriver pointer.
2002-09-26 20:30:50 +00:00
thorpej
274c086b22
Remove <sys/map.h>
2002-09-26 18:54:30 +00:00
thorpej
71404bb533
Don't include <sys/map.h>.
2002-09-25 22:21:01 +00:00
chs
c081614ea2
it really helps to get the stub right before cutting + pasting it 27 times.
...
alas, I did not. doh.
2002-09-22 07:53:39 +00:00
chs
55e1f79335
add pmap_remove_all() hook (empty on most platforms so far).
2002-09-22 07:17:08 +00:00
ragge
b3abfee038
Do not include <sys/clist.h>, it's not used in NetBSD at all.
2002-09-19 10:37:59 +00:00
lukem
3ea2e21f82
enable USERCONF by default; it's small and extremely useful to have available.
2002-09-18 02:43:53 +00:00
scw
151ee8c81a
Fix a devsw merge botch.
2002-09-10 21:10:18 +00:00
gehenna
77a6b82b27
Merge the gehenna-devsw branch into the trunk.
...
This merge changes the device switch tables from static array to
dynamically generated by config(8).
- All device switches is defined as a constant structure in device drivers.
- The new grammer ``device-major'' is introduced to ``files''.
device-major <prefix> char <num> [block <num>] [<rules>]
- All device major numbers must be listed up in port dependent majors.<arch>
by using this grammer.
- Added the new naming convention.
The name of the device switch must be <prefix>_[bc]devsw for auto-generation
of device switch tables.
- The backward compatibility of loading block/character device
switch by LKM framework is broken. This is necessary to convert
from block/character device major to device name in runtime and vice versa.
- The restriction to assign device major by LKM is completely removed.
We don't need to reserve LKM entries for dynamic loading of device switch.
- In compile time, device major numbers list is packed into the kernel and
the LKM framework will refer it to assign device major number dynamically.
2002-09-06 13:18:43 +00:00
lukem
fb7bc8541e
arch/*/stand stuff should be LDSTATIC=-static and not LDSTATIC?=-static.
...
It doesn't make sense to have standalone stuff dynamically linked just
because an end-user uses LDSTATIC="".
2002-08-27 08:53:14 +00:00
thorpej
139cdc3125
Make nbuf, nswbuf, and bufpages unsigned. Make all operations on these
...
variables unsigned, and update places where their values are printed.
2002-08-25 20:21:33 +00:00
briggs
0b956d0b8b
Implement pmc(9) -- An interface to hardware performance monitoring
...
counters. These counters do not exist on all CPUs, but where they
do exist, can be used for counting events such as dcache misses that
would otherwise be difficult or impossible to instrument by code
inspection or hardware simulation.
pmc(9) is meant to be a general interface. Initially, the Intel XScale
counters are the only ones supported.
2002-08-07 05:14:47 +00:00
thorpej
3912e469dd
Rename cdev_systrace_init() to cdev_clonemisc_init(), so it can
...
be properly used by any misc. cloning device. While here, correct
a comment to indicate that "open" is the only entry point and that
everything else is handled with fileops.
2002-07-19 16:38:14 +00:00
scw
bef00d4895
m68k syscall rototill:
...
- Switch all m68k-based ports over to __HAVE_SYSCALL_INTERN.
- Add systrace glue.
- Define struct mdproc in <m68k/proc.h> instead of <machine/proc.h>.
(They were all defined exactly the same anyway, other than a couple
of the MDP_* flags.)
2002-07-13 08:28:40 +00:00
wiz
7b9b4ac6f7
'environment', not 'enviroment'
2002-07-11 10:53:19 +00:00
christos
3b50728cf4
MD systrace gluons.
2002-06-17 16:32:57 +00:00
lukem
fde6ae6f04
Enable "pseudo-device clockctl" in all kernels, except
...
installation related kernels (INSTALL* and RAMDISK*).
This enables rc.conf(5) $ntpd_chroot to be used "out of the box"
2002-06-17 05:14:02 +00:00
thorpej
d941ddfee0
Don't use -traditional-cpp if HAVE_GCC3.
2002-06-04 21:39:09 +00:00
drochner
d2b9876081
move initialization of the "struct pglist" returned by uvm_pglistalloc()
...
from the calling code into uvm_pglistalloc() itself for consistency
and easier error handling
2002-06-02 14:44:35 +00:00
bjh21
23f7ce3522
.WAIT after building libbug and libsa, and before building anything that uses
...
them.
2002-05-28 19:34:15 +00:00
bjh21
0d79902e3f
Use ${PRINTOBJDIR} rather that rolling our own.
...
This prevents parallel builds passing "--- xxx ---" (which make prints to
indicate it's building target "xxx") to ld.
2002-05-28 19:32:42 +00:00
drochner
60b6f587bc
Subtract vm_map_min(kernel_map) from kernel virtual addresses to get offsets
...
into kernel_object where this was missing.
This is a no-op on ports where VM_MIN_KERNEL_ADDRESS==0, ie all but
cesfic.
Confirmed and corrected by Chuck Silvers.
2002-05-22 14:29:23 +00:00
matt
84eb329d14
Eliminate commons (including many used ones). Clean up variable references.
2002-05-14 02:03:00 +00:00
jdolecek
77a65b5e56
use _KERNEL_OPT rather than _KERNEL && !_LKM
2002-05-11 09:39:25 +00:00
jdolecek
9eed164863
remove redundant (and wrong) main() prototype
2002-05-05 20:11:37 +00:00
scw
132a9c91d5
Make sure main() has a prototype and a return type of "int".
2002-05-04 22:05:29 +00:00
scw
caf7ed0a69
main()'s return type should be `int', not `void'.
2002-05-03 20:48:34 +00:00
atatat
d1b3852365
Add the INCLUDE_CONFIG_FILE option to all config files. In config
...
files that are generic (ie, GENERIC, GENERICSBC, GENERIC32, ALL, or
ALPHA), it is uncommented.
2002-04-25 15:06:20 +00:00
gmcgarry
6e066ba77a
Add commented-out USERCONF option. Mainly useful for install media
...
and can be optionally enabled based on miniroot and ramdisk size
requirements.
2002-04-12 08:10:45 +00:00
scw
d5ecd48d67
DTRT to avoid installing "netbsd.tmp" in /usr/mdec.
...
Addresses port-mvme68k/16282.
2002-04-10 18:43:21 +00:00
scw
6a75b57b3d
Simplify generation of the s-record boot file using objcopy instead
...
of a homebrew tool.
Addresses port-mvme68k/16256.
2002-04-09 19:37:22 +00:00
lukem
d213d804f7
Rename MEMORY_DISK_SIZE (formerly MINIROOTSIZE) to MEMORY_DISK_ROOT_SIZE,
...
which was suggested by Izumi Tsutsui <tsutsui@ceres.dti.ne.jp> as
being more consistent with what it's controlling...
2002-04-02 05:30:34 +00:00
scw
8fe81151a5
Add files.c to SRC_sa.
...
While I'm here, sort source files alphabetically.
2002-03-27 20:18:25 +00:00
scw
7ce75221c2
Round VID_OSL to be a multiple of 32 * 256byte blocks.
2002-03-24 18:15:03 +00:00
scw
d22256f158
Pass RB_NOSYM to exec_mvme() otherwise loadfile() tries to lseek()
...
backwards, which we don't support.
2002-03-24 18:13:24 +00:00
scw
3d663e9bb1
Bump the MD image size to 1600 blocks.
2002-03-24 18:10:54 +00:00
scw
d0dba1cf87
Build the 68k-specific vmetwo stub (albeit a cut down version), even
...
if vmetwo isn't in the config file.
2002-03-24 18:10:14 +00:00
scw
7e69c325c1
Fix a botch from the dev/mvme split for kernels with no vmetwo in
...
the config file.
2002-03-24 17:22:32 +00:00
christos
7e277b5782
kill remaining PS_STRINGS instances.
2002-03-20 17:59:22 +00:00
scw
b303a9412d
Fix an include file botch when there is no vmetwo device in the
...
kernel config.
2002-03-17 10:04:47 +00:00
scw
f39f46188c
G/C. These should have been deleted as part of the move to sys/dev/mvme.
2002-03-17 10:04:07 +00:00
lukem
cd19d52695
* rename MINIROOTSIZE to MEMORY_DISK_SIZE, so that all md(4) options
...
are now consistently named
* fold opt_mdsize.h into opt_md.h
2002-03-10 19:56:37 +00:00
thorpej
a180cee23b
Pool deals fairly well with physical memory shortage, but it doesn't
...
deal with shortages of the VM maps where the backing pages are mapped
(usually kmem_map). Try to deal with this:
* Group all information about the backend allocator for a pool in a
separate structure. The pool references this structure, rather than
the individual fields.
* Change the pool_init() API accordingly, and adjust all callers.
* Link all pools using the same backend allocator on a list.
* The backend allocator is responsible for waiting for physical memory
to become available, but will still fail if it cannot callocate KVA
space for the pages. If this happens, carefully drain all pools using
the same backend allocator, so that some KVA space can be freed.
* Change pool_reclaim() to indicate if it actually succeeded in freeing
some pages, and use that information to make draining easier and more
efficient.
* Get rid of PR_URGENT. There was only one use of it, and it could be
dealt with by the caller.
From art@openbsd.org .
2002-03-08 20:48:27 +00:00
tsutsui
3c8b0446fe
Change type of dumpmag to u_int32_t since it is actually
...
a 32bit unsigned magic number.
As per discussion on tech-kern, and fixes port-sparc64/11949.
2002-03-06 13:10:18 +00:00
simonb
9bcc70fa1d
Don't cast argument to ffs() to long.
...
Per discussion on port-alpha, noticed by Robert Elz.
2002-03-05 09:40:38 +00:00
simonb
6f0fb25121
Don't need to declare phys_map - it is declared in <uvm/uvm_extern.h>.
2002-03-04 02:43:22 +00:00
simonb
4324f37586
Use "#define<tab>".
2002-02-28 03:17:23 +00:00
christos
e8116a8f5b
- Use DEV_ constants, instead of documenting the numbers!
...
- Delete cdev_decl(mm); where appropriate, and other hand-crufting [hi powerpc!]
2002-02-27 01:20:51 +00:00
scw
c4dbe1a160
Allow MD code to provide functions for reading/writing NVRAM/RTC
...
locations. If passed NULL, the old behaviour using bus_space_{read,write}_1()
is used. Otherwise, all access to the chip goes via the MD functions.
This is necessary for mvmeppc boards where the mk48txx NVRAM/RTC is not
directly addressable.
2002-02-23 17:18:54 +00:00
wiz
37e458fa45
strategy should have an 'r'. Inspired by similar change in OpenBSD.
2002-02-19 17:09:40 +00:00
chs
b744097a5f
allow writing to write-only mappings. fixes PR 3493.
2002-02-14 07:08:02 +00:00
scw
5bd17a1271
Separate out devices common to many Motorola mvme boards (68k, 88k and ppc)
...
in preparation for future mvmeppc and mvme88k ports.
This needs a bit if tidying up to make it trully shareable, which will
happen as the new mvme ports are added.
2002-02-12 20:38:09 +00:00
lukem
971861de37
use ${INSTALL_FILE} as appropriate
2002-02-09 09:35:59 +00:00
jdolecek
6d265bd894
add options PIPE_SOCKETPAIR to individual kernel configs
...
the option is commented out on everything but kernels I was able
to recognize as INSTALL-like or ones for small memory machines
2002-01-27 13:23:08 +00:00
scw
86be963a27
Completely re-write wrtvid.c to make it usable during a cross-build.
...
Instead of parsing the 1st stage booter in wrtvid, use objcopy to
generate a binary image, leaving wrtvid to create the VID/CFG block.
2002-01-23 21:06:28 +00:00
scw
0e17fb3d6a
Make this compile again.
2002-01-19 21:13:45 +00:00
scw
7fed4934b8
Move the VMEbus RAM `howto' into the docs directory.
2002-01-12 19:29:49 +00:00
manu
0079b3711b
Added clockctl
2002-01-12 13:33:42 +00:00
chs
9451559ef4
pmap_page_protect(VM_PROT_NONE) must remove all mappings in the PV list,
...
even if they are wired. we need to be able to remove all mappings to
pages that are being freed due to (eg.) file truncation.
2002-01-02 00:51:33 +00:00
martin
b506d6e135
Add PPPoE to all generic kernels that should be able to use it.
...
XXX TODO: do this for INSTALL kernels too, add sysinst support and make the
XXX needed binaries available on the ramdisk root fs.
2001-12-28 12:21:52 +00:00
tsutsui
20d126a5b4
Fix comments for ref-count of PT pages.
2001-12-16 03:53:21 +00:00
gmcgarry
bdd225baa1
Add a blurb to the top of all GENERIC files. This serves three purposes:
...
- to clarify some terminology
- to clarify the intention of the GENERIC file
- to cross-reference some useful man pages
2001-12-14 05:34:45 +00:00
chs
2dfd15933e
change the reference-counting of PT pages to start from zero instead of
...
one, so that we don't mess up the global count of wired pages by having
the page's wire_count be non-zero when we free the page.
pointed out by Michael Hitch.
2001-12-13 04:39:50 +00:00
lukem
b0b0a32ad7
Set NOxxx= before <bsd.own.mk> is pulled in (even indirectly).
...
Otherwise the appropriate MKxxx=no won't be defined .
2001-12-12 12:24:19 +00:00
tv
8e6f7afb5b
MKfoo=no -> NOfoo
2001-12-12 01:48:43 +00:00
atatat
b45c51b1fc
Roll the rest of the ports over to the new MI kernel build machinery.
...
Any problems reported by testers have been fixed, and massive
cross-compiling of kernels has shown that any problems that remain
with actually building kernels are not related to this.
2001-12-09 05:00:40 +00:00
kleink
e5341ee40f
No point in installing svr4_machdep.h.
2001-11-28 13:14:12 +00:00
lukem
ecb81c3f6d
- convert usage of "defopt" to "defflag" where the relevant option does
...
not support a value (e.g., it's to be used as "options FOO" instead of
"options FOO=xxx"). options that take a value were converted to
defparam recently.
- minor whitespace & formatting cleanups
2001-11-28 10:21:10 +00:00
fredette
f0002ba642
Added macros for the bits in the SYSBUS byte, and macros
...
for the i82596 PORT access interface, from the documentation
for that chip. These help clarify writes to the SYSBUS
part of the SCP, and PORT usage by i82596-aware drivers.
2001-11-26 23:30:59 +00:00
isaki
26b511b905
fix typo s/68551/68851/ in a comment.
2001-11-24 06:53:16 +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
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
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
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
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
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
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
thorpej
66f972ab70
Need byteorder.c for loadfile_elf*.c
2001-10-31 21:39:02 +00:00
thorpej
e727e3f180
Split elf32 vs. elf64 handling in loadfile(), including support for
...
each separately and explicitly. BOOT_ELF is now BOOT_ELF32 and
BOOT_ELF64, and ELFSIZE should no longer be defined in loadfile_machdep.h.
2001-10-31 17:20:45 +00:00
thorpej
4810d73020
Build the loadfile() a.out, ECOFF, and ELF back-ends as separate
...
objects.
2001-10-31 01:51:42 +00:00
jmc
6d536163de
Change defaults for kernel compiles. Default all to USETOOLS?=no and have
...
the etc Makefile override that by putting USETOOLS into $.MAKEOVERRIDES
This way the default for kernel compiles is still to use the installed
toolchain instead of depending on $TOOLDIR. $TOOLDIR can be used by
simply adding USETOOLS=yes to the command line as usual.
Adjust each ports template to set the default no setting and also pull in
bsd.own.mk if they weren't already to ensure they'll build correctly
with the new toolchain setup.
2001-10-26 06:45:33 +00:00
thorpej
ba217c4196
Set MACHINE_ARCH explicitly in Makefiles for which it is constant.
...
Also, since config(8) now explcitly sets MACHINE, there is no need
to do it here in the Makefile.
2001-10-23 19:26:41 +00:00
scw
f6e6d32172
Use the entry-point returned from the first call to loadfile()
...
instead of the one from the second call (which has a non-zero
offset included in it).
Fixes port-mvme68k/14292 from Ken Seefried.
2001-10-19 17:09:16 +00:00
chs
f013b5beb1
fix pmap_changebit() to look for the bit in the page attrs
...
in addition to any PTEs. fixes PR 14197.
2001-10-13 06:18:36 +00:00
chs
7491bc8eea
add ashldi3.c, needed by ufs.c due to added cast in lblktosize().
2001-10-02 06:30:03 +00:00
wiz
9fa0b17629
Give initiali[sz]e all the "i"s it deserves.
2001-09-18 18:15:49 +00:00
wiz
456dff6cb8
Spell 'occurred' with two 'r's.
2001-09-16 16:34:23 +00:00
chris
0e7661f023
Update pmap_update to now take the updated pmap as an argument.
...
This will allow improvements to the pmaps so that they can more easily defer expensive operations, eg tlb/cache flush, til the last possible moment.
Currently this is a no-op on most platforms, so they should see no difference.
Reviewed by Jason.
2001-09-10 21:19:08 +00:00
atatat
97c67a9bae
Add bridge pseudo devices to GENERIC configs
2001-09-01 21:52:23 +00:00
simonb
023bdd2bf2
Use comments around the token after a #endif.
2001-08-31 04:44:54 +00:00
tsutsui
62c3bdeea4
sysctl(2) -> sysctl(3) (in comments)
2001-08-26 16:22:20 +00:00
chs
c489e9bff4
add missing pmap_update().
2001-08-19 18:09:20 +00:00
chs
2cdad949d0
use pmap_k* in vmapbuf() and vunmapbuf() since there's no VAC on this platform.
...
in vunmapbuf(), call pmap_*remove() explicitly since uvm_km_free_wakeup()
will soon no longer do it for us.
2001-08-19 17:34:49 +00:00
scw
13c2f8b505
Some more things ticked off the list.
2001-08-12 19:28:28 +00:00
scw
79abe4afda
Fix the clock device offset. (Overlooked in last commit)
2001-08-12 19:16:18 +00:00
scw
e97b8f6555
clockreg.h is no longer needed now we use the MI mk48txx driver.
2001-08-12 18:36:17 +00:00
scw
e9261b9f13
Time Keeper NVRAM driver.
2001-08-12 18:34:25 +00:00
scw
bb210bda7e
Split the nvram/rtc functionality away from the clock interrupt code
...
and attach it as `timekeeper0 at mainbus0'.
Use the MI mk48txx nvram/rtc access functions instead of home-grown
versions.
It should now be very easy to add a character device for the benefit
of userland access to NVRAM.
2001-08-12 18:33:12 +00:00
scw
7374ebbf8c
Slight tweak: Avoid needlessly purging cachelines which we've just flushed.
2001-08-12 18:13:45 +00:00
scw
e8ba963ae7
Change a post-decrement to a pre-decrement.
2001-08-07 17:25:19 +00:00
scw
aac15fa001
Create the `machine' symlink before building.
2001-08-05 10:52:05 +00:00
scw
86b01af066
Make this work again for mvme147...
2001-08-05 09:45:39 +00:00
matt
f33b1a3fd8
This is a HOST program, so make compile as one.
2001-08-05 06:10:25 +00:00
bjh21
ad2c12a28d
Bump version numbers of all bootloaders that use loadfile/ELF, to account for
...
my changes to symbol loading. I should probably have done this at the time,
but it's better late than never.
2001-08-02 12:24:05 +00:00
chs
0d8e804191
fix typo in previous.
2001-07-31 02:17:27 +00:00
scw
6e0195e742
Make the set_page_cacheable/set_page_cacheinhibit functions do the
...
right thing on 68030 again.
2001-07-30 21:32:49 +00:00
scw
da3836f00d
Flush the caches in pmap_remove_mapping() when PRM_CFLUSH is specified.
...
Also, flush the ATC for the page in pmap_kenter_pa() after setting up the
mapping. With any luck this last one might just solve the 060 problems I've
been seeing...
2001-07-30 21:25:08 +00:00
scw
d750508a87
Hook the error interrupt only once, otherwise we'd fail when hooking
...
the interrupt for the 2nd DRAM board where two boards are present.
2001-07-28 08:30:23 +00:00
scw
27ae3aab7c
Blah, yet another nit: s/irq/ipl/
2001-07-27 21:56:10 +00:00
scw
ea00e7cda2
Don't bother trying to initiate a DRAM scrub on startup as it requires
...
frobbing with registers which are marked as "For Test Purposes [only]".
2001-07-27 21:54:07 +00:00
scw
c184f03348
Remove Mistakenly Left In comments around some `#ifdef DIAGNOSTIC' tests.
2001-07-27 20:48:58 +00:00
scw
8343a1492f
Forgot to shift the DRAM Bank identifiers by four.
2001-07-27 20:33:35 +00:00
scw
f169034d7f
Fix a braino in the check for a jumper across pins 1-2 of J1 (mvme1[67]7).
...
Spotted by Chuck Silvers.
2001-07-27 18:58:23 +00:00
scw
9ac6178585
memc attaches at mainbus now.
2001-07-27 18:40:27 +00:00
scw
7e2f2acb8e
Flesh out the memory controller driver (at least for the MCECC chip)
...
and attach it at mainbus since it depends both PCCChip2 and VMEChip2
(or the VMEChip2 interrupter) starting first.
We can finally enable, detect and log DRAM ECC errors.
(The PROM disabled ECC checks by default)
2001-07-27 18:38:54 +00:00
scw
5b69ac0a44
Apply pmap_k{enter_pa,remove} patches provided by Chuck Silvers.
2001-07-23 20:34:00 +00:00
wiz
a9356936b4
seperate -> separate
2001-07-22 13:33:58 +00:00
scw
b4c68ef164
Descend into wrtvid in all but the install pass.
2001-07-19 18:18:30 +00:00
thorpej
babefc5331
Add BUS_DMA_READ and BUS_DMA_WRITE flags, that hint the back-end
...
at dmamap load time that the mapping will be used for a unidirectional
transfer of the specified direction.
2001-07-19 15:32:10 +00:00
scw
eef68ab123
In bus_dmamap_sync4060(), fold the POSTREAD case into the PREREAD case
...
where it belonged in the first place.
2001-07-18 17:21:49 +00:00
scw
6a9bccd130
Make absolutely sure page tables are not cacheable on 040/060 cpus.
...
(Not strictly required for the 040, but mandatory for the 060).
Also revamp cache enable/disable functions for the benefit of
bus_dmamem_map().
2001-07-18 17:18:53 +00:00
scw
db111a0133
Restore FPU context properly on 68060-specific kernels...
2001-07-18 17:13:15 +00:00
abs
01b024cd5b
Standardise TCP_COMPAT_42 as commented out, grouped with other COMPAT options,
...
and with the comment '4.2BSD TCP/IP bug compat. Not recommended'
Add commented out 'TCP_DEBUG # Record last TCP_NDEBUG packets with SO_DEBUG'
(All hail amiga and atari which make some attempt to automate the
multiplicity of config files...)
2001-07-08 16:32:12 +00:00
scw
c1ab2b5460
bcopy -> memcpy
...
bzero -> memset
bcmp -> memcmp (note that the MI libsa's memcmp() still calls bcmp()...)
2001-07-07 09:06:43 +00:00
scw
ff267f1e06
bzero -> memset
...
bcopy -> memcpy
bcmp -> memcmp
2001-07-07 07:51:37 +00:00
scw
8593b82c71
One less item (h/w assisted soft interrupts)
2001-07-06 20:12:34 +00:00
scw
35110949ce
Ditch the `simulated' software interrupt in favour of
...
hardware-assisted soft interrupts on all boards.
(Note: VMEChip2-less 162/172 not yet tested)
This greatly simplifies the `rei' path and allows
interrupt nesting to be tracked somewhat more easily.
As a result we now have a working CLKF_INTR() macro
and can detect uvm_fault() being called from an interrupt
(although there may still be a very short race detecting
the latter; need to investigate further).
2001-07-06 19:00:12 +00:00
scw
6d598bac6d
Another instance of the MD siop driver which slipped the net...
2001-07-03 17:36:01 +00:00
wiz
f3f6c5b675
`accessible' only has one `a'.
2001-06-19 12:52:20 +00:00
christos
0f380fac15
Add an e_trapsignal member to struct emul, so that emulated processes can
...
send the appropriate signal depending on the trap type.
2001-06-18 02:00:48 +00:00
thorpej
8eb3b954f1
Don't need to prototype child_return() here, it's in <sys/proc.h>.
2001-06-14 22:56:55 +00:00
wiz
0a600be867
receive, not recieve
2001-06-12 15:17:10 +00:00
scw
712d37e53b
G/C an unused parameter to isrdispatch_vectored().
2001-06-11 11:26:42 +00:00
scw
9b0b23c664
Stack adjustment for autovectored interrupts wasn't quite right...
2001-06-11 11:24:40 +00:00
scw
179dd3e579
sigh. It also helps to switch back to .text ...
2001-06-10 17:31:38 +00:00
scw
08fb0e543b
Pick the right bit to check...
2001-06-10 17:03:01 +00:00
scw
8aad61265b
On 162 and up, get the CPU speed from the firmware and only fall back
...
to calculating it on the fly if the firmware's value is bogus.
This fixes problems caused by rounding errors on some board/speed
combinations.
2001-06-10 16:48:19 +00:00
scw
aab2376d45
Refuse to boot on 162/172 and 167/177 if the user has not removed
...
the jumper which tells 1xx-Bug where to locate its scratch data.
Instead, print a message informing the user to RTFM (which needs to
be updated to include this info. ;-)
2001-06-10 16:45:52 +00:00
scw
89546c98a1
Enable DHCP and BOOTP as supported diskless NFS boot options.
2001-06-10 14:40:47 +00:00
scw
967e648941
Use the versions of dev_net.[ch] in libsa in order to get DHCP support.
...
In other words, mvme68k's "netboot" finally supports DHCP.
2001-06-10 14:12:48 +00:00
scw
ea5249214a
Add rnd(4) pseudo-device.
2001-06-10 13:16:07 +00:00
chs
821ec03ed9
replace vm_map{,_entry}_t with struct vm_map{,_entry} *.
2001-06-02 18:09:08 +00:00
scw
78aad8f79e
Mark evcnt(9) item as done.
2001-06-01 08:31:07 +00:00
scw
59ba4788ce
Deprecate intrcnt/intrnames in favour of the generic evcnt(9) interface.
2001-05-31 18:46:07 +00:00
lukem
d84d2c6c85
add missing #include "opt_kgdb.h"
2001-05-30 15:24:23 +00:00
mrg
67afbd6270
use _KERNEL_OPT
2001-05-30 11:57:16 +00:00
scw
9c1aa86e46
One less item (MD siop driver is no more).
2001-05-29 08:20:42 +00:00
mrg
3783ca5d30
define _KERNEL_OPT as well as _KERNEL. we will use this in the future to
...
get kernel "opt_foo.h" headers, rather than _KERNEL && !_LKM.
2001-05-29 02:20:20 +00:00
scw
d5c72b21e5
s/ncsrc/osiop.
...
While I'm here, ditch some excess baggage which is useless for
the RAMDISK kernel.
2001-05-28 18:39:45 +00:00
scw
eb9637dd7e
Add COMPAT_15 and comment out COMPAT_SUNOS. (It's hardly used and saves
...
a bit of space on low memory models).
2001-05-28 11:14:41 +00:00
chs
11a9651c8f
replace vm_page_t with struct vm_page *.
2001-05-26 21:27:10 +00:00
chs
118ddca24a
replace {simple_,}lock{_data,}_t with struct {simple,}lock {,*}.
2001-05-26 16:32:40 +00:00
scw
c22fb1db55
Finally nobble the bus_dmamap_sync() problem with osiop(4).
...
Basically, bus_dmamap_sync() `PREREAD' needs to flush the cache
for the start and end of the region if it is not aligned to
a cacheline boundary, otherwise a subsequent POSTREAD can *purge*
valid data which was in the cacheline but *outside* the region
passed to bus_dmamap_sync().
Bus snooping doesn't always help here because osiop(4) calls
bus_dmamap_sync() with POSTREAD even if no data was actually
transferred! (And we can't rely on snooping on the 68060 models anyway).
2001-05-16 19:06:46 +00:00
scw
7e86548d5c
doh, make the last fix compile for '147.
2001-05-13 18:35:19 +00:00
kleink
ba6a8bf61e
Update to reflect that unlike in m68k a.out environments, where the .align
...
directive is given a log2 argument, .align is given a linear argument in
m68k ELF environments.
2001-05-12 00:55:34 +00:00
scw
e2177c7f71
Ensure the caches are flushed before changing the `cacheble' state
...
of a page.
2001-05-11 13:05:06 +00:00
scw
6ca2fd54c1
Take the offset and length into account inside bus_dmamap_sync().
...
(Inspired from the Atari version).
This fixes a problem seen with the new MI osiop driver.
2001-05-11 13:01:44 +00:00
scw
4d440b4035
G/C a printf which has moved to the MI code.
2001-05-03 19:03:53 +00:00
scw
c038390035
Recognise `osiop' as a boot device.
2001-05-03 17:58:45 +00:00
scw
6d231d4107
Attach `osiop' at pcctwo instead of `ncrsc'.
2001-05-03 17:54:30 +00:00
scw
adf7013d7f
Match `osiop' instead of `ncrsc' now.
2001-05-01 07:33:29 +00:00
scw
813efd148a
Don't panic in _bus_dmamap_sync() if a segment start address/length are
...
not aligned to a cacheline boundary.
Instead round down the start address, round up the length and "DTRT".
2001-05-01 07:32:51 +00:00
thorpej
cf67ac7122
Per discussion w/ chuck and chuck, restructure the md page stuff
...
to use a structure called "vm_page_md", and use __HAVE_VM_PAGE_MD
and __HAVE_PMAP_PHYSSEG.
2001-05-01 02:19:13 +00:00
scw
ff4a29679f
Switch to the MI 53c710 driver recently committed by Izumi Tsutsui.
2001-04-30 09:05:58 +00:00
thorpej
2b27ac7a99
Add a VM_MDPAGE_MEMBERS macro that defines pmap-specific data for
...
each vm_page structure. Add a VM_MDPAGE_INIT() macro to init this
data when pages are initialized by UVM. These macros are mandatory,
but ports may #define them to nothing if they are not needed/used.
This deprecates struct pmap_physseg. As a transitional measure,
allow a port to #define PMAP_PHYSSEG so that it can continue to
use it until its pmap is converted to use VM_MDPAGE_MEMBERS.
Use all this stuff to eliminate a lot of extra work in the Alpha
pmap module (it's smaller and faster now). Changes to other pmap
modules will follow.
2001-04-29 22:44:31 +00:00
scw
81be7c00b7
Compute PAGER_MAP_SIZE at runtime to avoid needlessly crippling large-
...
memory models for the benefit of small-memory models.
Uses a heuristic of min(onboard_ram_size/2, 16MB).
2001-04-29 07:53:56 +00:00
scw
89e9fc44d5
Do the same as mac68k/pmap.c:1.70 to prevent wired pages being
...
removed by pmap_collect().
2001-04-29 07:41:58 +00:00
bouyer
937a7a3ed9
Pull up the thorpej_scsipi branch to main branch.
...
This is a completely rewritten scsipi_xfer execution engine, and the
associated changes to HBA drivers. Overview of changes & features:
- All xfers are queued in the mid-layer, rather than doing so in an
ad-hoc fashion in individual adapter drivers.
- Adapter/channel resource management in the mid-layer, avoids even trying
to start running an xfer if the adapter/channel doesn't have the resources.
- Better communication between the mid-layer and the adapters.
- Asynchronous event notification mechanism from adapter to mid-layer and
peripherals.
- Better peripheral queue management: freeze/thaw, sorted requeueing during
recovery, etc.
- Clean separation of peripherals, adapters, and adapter channels (no more
scsipi_link).
- Kernel thread for each scsipi_channel makes error recovery much easier
(no more dealing with interrupt context when recovering from an error).
- Mid-layer support for tagged queueing: commands can have the tag type
set explicitly, tag IDs are allocated in the mid-layer (thus eliminating
the need to use buggy tag ID allocation schemes in many adapter drivers).
- support for QUEUE FULL and CHECK CONDITION status in mid-layer; the command
will be requeued, or a REQUEST SENSE will be sent as appropriate.
Just before the merge syssrc has been tagged with thorpej_scsipi_beforemerge
2001-04-25 17:53:04 +00:00
thorpej
1c3a62e066
Sprinkle pmap_update() calls after calls to:
...
- pmap_enter()
- pmap_remove()
- pmap_protect()
- pmap_kenter_pa()
- pmap_kremove()
as described in pmap(9).
These calls are relatively conservative. It may be possible to
optimize these a little more.
2001-04-24 04:30:50 +00:00
thorpej
55044638aa
Remove pmap_kenter_pgs(). It was never really adopted by
...
anything, and the interface itself wasn't as flexible as
callers would have probably liked.
2001-04-22 23:42:11 +00:00
thorpej
69abdbf60c
Undo a misguided previous change to the pmap_update() API.
2001-04-22 23:19:26 +00:00
thorpej
4738622712
Give pmap_update() an argument (a pmap_t) so that it knows which
...
pmap it should be updating.
2001-04-22 00:33:59 +00:00
thorpej
7f10ba88b1
#define away pmap_update() in <machine/pmap.h> so that no function
...
call overhead is incurred as we start sprinkling pmap_update() calls
throughout the source tree (no pmaps currently defer operations, but
we are adding the infrastructure to allow them to do so).
2001-04-21 23:51:14 +00:00
thorpej
15f731ee94
pmap_update() should not be equated with "flush entire TLB", it is
...
used to process deferred pmap operations. Since these pmaps don't
defer anything, pmap_update() is a noop.
2001-04-21 17:25:01 +00:00
kleink
f06533a1ee
Add definitions of C99 integer format conversion macros.
...
XXX Fastest minimum-width integer types haven't been decided upon yet.
2001-04-15 17:13:04 +00:00
kleink
739cb75837
Add definitions of C99 specified-width integer type limits.
...
XXX Fastest minimum-width integer types haven't been decided upon yet.
2001-04-15 15:29:02 +00:00
kleink
cdcf9f46c5
Add definitions of C99 integer constant macros.
...
Tidy Makefiles up a little.
2001-04-14 22:46:19 +00:00
kleink
a7c20e5788
Add definitions of C99 integer constant macros.
2001-04-14 22:38:33 +00:00
scw
9beeeabe1b
Define a PAGER_MAP_SIZE of 4MB for the benefit of low-memory models.
...
XXX: This may still not be low enough for models with less than 8MB RAM...
2001-04-14 16:02:24 +00:00
scw
dd8c947561
Implement a real microtime() by reading the timer counter register.
...
On mvme147 this gives 6.25uS resolution, and 1uS on all other boards.
2001-04-14 13:53:05 +00:00
scw
c605c91bdf
Fix bootline argument passing from the Bug PROM.
2001-04-14 13:43:07 +00:00
kleink
7affdab52e
Add definitions of C99 minimum-width and greatest-width integer types.
...
XXX Fastest minimum-width integer types haven't been decided upon yet.
2001-04-14 12:19:49 +00:00
thorpej
bf2dcec4f5
Remove the use of splimp() from the NetBSD kernel. splnet()
...
and only splnet() is allowed for the protection of data structures
used by network devices.
2001-04-13 23:29:55 +00:00
lukem
723cd818d8
move duplicate definitions for:
...
pc, lpt, joy, ocis, apm, satlink, i4bctl, i4brbch, i4btel, i4btrc, i4b
from the port-specific arch/*/*/conf.c files into sys/conf.h
2001-03-21 22:25:52 +00:00
soren
912c115675
s/vm_page_alloc_memory/uvm_pglistalloc/ in panic message.
2001-03-21 18:40:28 +00:00
chs
ac3bc537bd
eliminate the KERN_* error codes in favor of the traditional E* codes.
...
the mapping is:
KERN_SUCCESS 0
KERN_INVALID_ADDRESS EFAULT
KERN_PROTECTION_FAILURE EACCES
KERN_NO_SPACE ENOMEM
KERN_INVALID_ARGUMENT EINVAL
KERN_FAILURE various, mostly turn into KASSERTs
KERN_RESOURCE_SHORTAGE ENOMEM
KERN_NOT_RECEIVER <unused>
KERN_NO_ACCESS <unused>
KERN_PAGES_LOCKED <unused>
2001-03-15 06:10:32 +00:00
scw
bb17ec14d3
Conditionalise inclusion of opt_compat_svr4.h for the benefit of LKMs.
2001-03-13 18:47:19 +00:00
scw
e4a4f09fa8
Make this compile again; chan_attn() prototype has changed.
2001-03-11 20:24:52 +00:00
thorpej
2c4c690f14
Add the BUS_DMA_STREAMING flag.
2001-03-07 22:42:16 +00:00
scw
23cf8fe52b
Add a missing _ASM_LABEL()
2001-02-15 11:49:25 +00:00
bjh21
fe3273fbb4
Patch from PR kern/8001, submitted by Rafal Boni.
...
This adds support for EtherExpress/16 cards with 16k of RAM, and in the
process adds general support for PIO mode on these cards. This entails
changing the way the i82586 driver handles bus barriers, since it doesn't
allow for strange cases like this.
This has been tested on the i386 port with the 'ix' driver in both
16KB (which was the source of the problem) and 32KB modes, as well
as with the 'ef' driver. I've tested it (briefly) with 'ei' on arm26
as well. In theory, drivers other than 'ix' should follow precisely the
same code paths as before.
2001-01-22 22:28:43 +00:00
scw
2c13177ff8
Create machine/m68k symlinks before trying to build the program.
2001-01-21 10:58:04 +00:00
tv
e58532a4bf
No-op commit to force update to a non-"-kk" revision.
2001-01-18 17:47:58 +00:00
fvdl
c7f1462f3e
Add machdep file for procfs. Currently only used for linux-style
...
/proc/cpuinfo (only active when procfs is mounted with -o linux).
For ports other than the i386 this currently produces an empty
string.
2001-01-17 00:07:18 +00:00
thorpej
d74e432ed3
Make softclock a generic soft interrupt of the API is available,
...
adding the requisite void * argument to softclock().
2001-01-15 20:19:50 +00:00
thorpej
45de366b2e
Rename __GENERIC_SOFT_INTERRUPTS to __HAVE_GENERIC_SOFT_INTERRUPTS,
...
and place the definition in <machine/types.h>. This can now be used
as a flag to indicate whether or not <machine/intr.h> can be included
to get the generic soft interrupt API.
2001-01-14 23:50:28 +00:00
thorpej
a3ec356d52
splimp() -> splvm()
2001-01-14 03:22:04 +00:00
thorpej
d85a75f583
Make sure everybody has an splvm() and equate it with splimp() (splimp()
...
is the historical name for this interrupt level, and the historical name
is going to go away in the near future).
2001-01-14 02:00:37 +00:00
scw
65137701cf
g/c the HP/UX core-dump code; it references a function which no longer exists.
2001-01-11 08:44:36 +00:00
dbj
e992baf394
fix logic error in bus_dmamap_sync that was preventing from flush/purging
...
full pages instead of only by cache lines
2000-12-26 07:27:01 +00:00
jdolecek
de31133f1d
split off thread specific stuff from struct sigacts to struct sigctx, leaving
...
only signal handler array sharable between threads
move other random signal stuff from struct proc to struct sigctx
This addresses kern/10981 by Matthew Orgass.
XXX I wish m68k ports would share trap.c
2000-12-23 09:35:51 +00:00
scw
8336df62f7
Some small optimisations:
...
o Avoid checking cputype when the kernel is built for one cpu variant only.
o In writeback(), don't use bcopy() to write a mere 16 bytes of 16-byte
aligned data; it's much quicker to copy it inline.
2000-12-22 21:02:05 +00:00
scw
d11562c429
A couple of minor functions which return pointers need to do so in %a0 now.
...
Spotted by Chuck Silvers.
2000-12-22 20:57:21 +00:00
scw
00627955a1
Some minor optimisations to avoid checking {cpu,mmu}type when
...
the kernel was built for only one type of CPU.
2000-12-20 16:53:50 +00:00
scw
4350a7f2b7
Unification of the m68k syscall() function.
2000-12-19 21:09:54 +00:00
bouyer
c71f40d166
Add pseudo-device vlan
2000-12-19 10:42:02 +00:00
scw
e82303a96d
s/MDECDIR/MDEC_DIR/
2000-12-18 21:27:01 +00:00
jdolecek
cacec11253
delete obsolete comment
2000-12-17 15:52:39 +00:00
scw
5cabdd3709
Some snippets of documentation for mvme68k...
2000-12-14 20:30:14 +00:00
jdolecek
ca57e681bd
g/c obsolete vtrace(2) stuff
2000-12-13 18:13:05 +00:00
scw
5d5ebb1b73
Simplify the reboot code:
...
Always jump through the PROM's reset vector, regardless of board type.
Fix a stack offset problem in the mvme147 reset code path.
2000-12-10 20:00:21 +00:00
scw
8ace7abc75
A small splx()/spl0()/soft interrupt related optimisation. If we're
...
dropping to spl0, use inline code to check if a soft interrupt is
pending instead of taking the hit of a function call to do the check.
2000-12-10 18:43:02 +00:00
scw
c5b6f43634
Define `splzs()' to be `splserial()' instead of `spl4()', which was
...
wrong anyway since it blindly set SPL to 4 regardless of the prevailing
level.
2000-12-10 18:00:24 +00:00
scw
1a0a12c5b4
Bah. Somehow the a.out versions of the bootxx symbols got deleted; put
...
them back.
2000-12-09 22:33:24 +00:00
scw
a3dc741c03
Delete the commented out EXEC_ELF32 now that it's in std.mvme68k.
...
(Spotted by Simon Burge)
2000-12-09 21:02:09 +00:00
scw
3c748b810f
Missed this one in yesterday's bootloader commits:
...
Change BUGCRT from bugcrt.o to bugstart.o.
2000-12-07 21:37:51 +00:00
scw
3f7cfb70ef
Add "options COMPAT_AOUT_M68K".
2000-12-07 08:40:06 +00:00
scw
ac80517816
Add some #defines for offsets into the bugargs structure, and make the
...
register names usable within assembly code.
2000-12-05 21:57:13 +00:00
scw
86c7dac956
Replace the startup C code with assembler, which avoids having to
...
explicitly tell the compiler what registers the Bug args come in on.
2000-12-05 21:54:33 +00:00
scw
7da5cde117
bootxx doesn't need the code relocating stub linked in.
2000-12-05 21:51:38 +00:00
scw
634dc65636
Backout the last change; I'll deal with it another way.
2000-12-05 19:54:09 +00:00
scw
1f9f7cbe53
UPAGES -> 2 as recommended by Chuck Silvers.
2000-12-05 18:46:10 +00:00
scw
2ec144518f
Add loadfile_machdep.h to list of installed machine headers.
2000-12-05 18:42:18 +00:00
scw
37f5782c0a
Update pm_stats.resident_count when entering pages in the kernel pmap.
2000-12-05 16:07:39 +00:00
scw
bfcd71c79c
Clean up the build process to ensure libsa/libbug are built
...
before linking the bootloaders.
2000-12-04 21:25:57 +00:00
scw
349445391c
Make this work with the ELF tape bootloader.
2000-12-04 21:24:34 +00:00
scw
5a17a935bc
Declare `start' in addition to `_start'.
2000-12-04 20:31:16 +00:00
scw
269a30a733
s/a6/fp/ again...
2000-12-04 18:48:18 +00:00
scw
e267f2466b
Add support for ELF boot blocks.
2000-12-04 18:44:51 +00:00
scw
b29bcb645b
The LOAD_TEXTA flag is required when loading a.out kernels.
...
Also add some non-standalone versions for the benefit of installboot(8).
2000-12-04 18:41:51 +00:00
scw
c28723715c
Prefix the register names with `%'.
2000-12-04 18:40:05 +00:00
scw
d0da91f9e2
Use -fomit-frame-pointer when compiling bugcrt.c; a6 needs to be reserved
...
for Bug arguments.
2000-12-04 18:35:16 +00:00
scw
9fc2cc70dc
Include the a.out m68k compatibility module.
2000-12-03 15:40:06 +00:00
scw
2e68384b0c
Back out the previous change after discussion with thorpej and cgd.
2000-12-03 15:38:30 +00:00
scw
53323bf36d
Revert the previous change, after discussion with thorpej and cgd.
2000-12-03 15:37:46 +00:00
scw
57b29e6754
Fix symbol table loading.
2000-12-02 17:28:08 +00:00
scw
6de7ccd2d3
On exit from syscalls, don't trash %A0 if the process is
...
using the COMPAT_AOUT_M68K emulation package.
2000-12-02 17:00:46 +00:00
scw
e4326b372a
Set things up so that DDB can get to the symbol table in ELF kernels.
2000-12-02 13:57:05 +00:00
scw
66a84140b8
Use "EMUL_HAS_SYS___syscall" instead of checking p->p_emul.
...
Removes dependency on COMPAT_AOUT_M68K.
2000-12-02 13:45:14 +00:00
tsutsui
a8fdbdec1c
Remove unused pcbb() macro.
2000-12-01 17:57:43 +00:00
scw
97490c9997
Add __attribute__((__packed__)) to cpu_disklabel to get around
...
the ELF padding/alignment constraints.
2000-12-01 00:02:22 +00:00
scw
75f2f8f242
Delete an extraneous underscore in the last commit.
2000-11-30 23:47:45 +00:00
scw
bd8955b9b6
Only try to attach those devices which have been configured
...
in the kernel config file.
2000-11-30 22:54:31 +00:00
scw
c4a189ad74
Print some more details of the memory managed by each ASIC.
2000-11-30 22:51:35 +00:00
scw
ba98135ea8
Add EXEC_ELF32
2000-11-30 22:31:27 +00:00