Commit Graph

12362 Commits

Author SHA1 Message Date
mycroft 398b638fbb Add comments on #else and #endif. Move #ifndefs outside of comment blocks. 1996-06-18 07:17:47 +00:00
mycroft b360b90a92 Save %esi and %edi around BIOS calls. Also, reference arguments through
%esp rather than %ebp, to avoid needing to change %ebp on entry.
1996-06-18 07:03:44 +00:00
leo cf50b9a115 Add fpfault & bus error handling corrections from Ignatios Souvatzis. 1996-06-18 06:13:46 +00:00
mycroft f2d34a2c9a Compare device types with strcmp(). Remove special case for `wt'. 1996-06-18 06:10:33 +00:00
mycroft 8a706cd17f Add a ONEDISK option to elide the getc(). 1996-06-18 06:06:38 +00:00
mycroft 0ca0eeec5f Clean up the install target. 1996-06-18 06:05:44 +00:00
leo d84f4c4b18 Add tty_attach() calls. 1996-06-18 05:54:59 +00:00
mycroft 36720c448c Use the BIOS memory sizes passed in by the boot program, to preserve the BIOS
data area.
1996-06-18 01:53:07 +00:00
gwr bf7ab63c97 Move some of the DMA engine initialization from the "start" routine
to the "setup" routine.  Doing the initialization earlier prevents
nasty race conditions where the 5380 prefetch changes the counter.
1996-06-17 23:21:29 +00:00
pk b298c40fbe Call reassignbuf() at splbio in bdwrite(). 1996-06-17 22:21:31 +00:00
cgd b2dca977c5 FPA probe would always return zero, because of incorrect return statement.
Patch provided by Peter Galbavy in PR 2555.
1996-06-17 18:29:18 +00:00
gwr dc066b6a10 KGDB support 1996-06-17 15:40:36 +00:00
gwr af3f9266db Correct return type of boot() and reboot2(). 1996-06-17 15:27:16 +00:00
gwr 3274834c18 Use the PROM->input_source setting instead of EEPROM to determine
where the console is, because that is correct if, for example, you
boot with the diag/norm switch set for diagnostics and the EEPROM
is set for keyboard/display.
1996-06-17 15:17:06 +00:00
jonathan 9fedff95ce Update mipspmax elf exec support:
* Update arch/mips/mips/cpu_exec.c to include MI exec_elf.h header,
    and to use the MI interface exec_elf_makecmds().
  * Replace arch/mips/mips/elf.c (Ted Lemon's elf code) with
    a version of Christos's MI elf exec code, munged to support demand paging
    and mips shared libraries.
1996-06-17 10:51:28 +00:00
jonathan 2311fa5f31 Fix typo, colon instead of semicolon when DS_5000_25 is not defined. 1996-06-17 07:59:39 +00:00
jonathan b212f1b0c1 Move cpu_singlestep outside of #ifdef DEBUG/#endif; the process-tracing code
in  mips/mips/process_machdep.c (erroneously) calls cpu_singlestep().
1996-06-17 07:55:13 +00:00
oki ff21e075f0 added wait for insert system floppy 1996-06-17 07:28:58 +00:00
jonathan 26626be148 Before calling a signal handler, set $t9 to the user-level signal
handler address.  May be needed by sysv ABI for shared libs.
1996-06-17 06:36:34 +00:00
oki 8da30c1475 fd* is need to boot from floppy 1996-06-17 06:09:30 +00:00
pk 5d5e7cf75e bootpath detection: some (newer?) v2 prom versions use actual device address,
e.g. `/fd@1,72000000'.
1996-06-16 23:28:18 +00:00
mhitch cd2de87a62 Fix cpu configuration display - extraneous "\n" was printed. 1996-06-16 17:05:33 +00:00
mhitch d5cb319823 Fix to compile if DS3100 is not defined when building without DS3100 support. 1996-06-16 17:03:18 +00:00
mhitch dbd6d91a1f Fix to compile if DS3100 is not defined when building without DS3100 support.
Now that autoconf parameter passing is cleaned up, configure the cpu.
1996-06-16 17:01:46 +00:00
mhitch 2c4f6b4b82 Don't modify rz_softc[] entries beyond what was configured.
Show proper inquiry data when version >= 1, not <= 1 (SCSI-2 devices
now display their inquiry infor).
Correct transfer length passed to dk_unbusy (b_resid hasn't been
updated yet).
1996-06-16 16:57:31 +00:00
mhitch 40c440b66e Do tty_attach() for serial lines and MAXINE console. 1996-06-16 16:50:56 +00:00
mhitch 56a2e98b80 Do tty_attach() for serial lines. 1996-06-16 16:49:07 +00:00
oki 3b090d3e8f fixed to write disklabel correctly. 1996-06-16 09:07:59 +00:00
briggs b4c60fd801 port-m68k/2547: wrong bus error detection from is@beverly.rhein.de. 1996-06-15 21:25:21 +00:00
oki 3e629c7765 deleted invalid MANDIR line. 1996-06-15 20:15:54 +00:00
jonathan d56e7d7f50 Fix for PR #1828 and partial fix for PR #2548:
* Eliminate the #ifdef DS5000 and kernel config option DS5000 altogether.
  option DS5000 was a hangover from 4.4bsd/pmax; it's never been clear
  if it means "support for DS5000/200" or "support for any TC machine".
  This implictly fixes pr 1828.

* Use the  "tc.h" and NTC generated by config for a "tc? at mainbus"
  where appropriate, intsead of #ifdef DS5000.


* Canonicalize the spelling of kernel options that enable support
  for particular models. Use
	DS5000_25	for the Personal Decstation aka MAXINE aka KN02-ca
	DS5000_100	for the 5000/1xx series aka KMIN aka KN02-ba
	DS5000_200	for the 5000/200 aka 3MAX aka KN02
	DS500_240	for the 5000/240 aka 3MAXPLUS aka KN03

and change  DS_5000_xxx to DS5000_xxx everywhere.

* Wrap the  interrupt handlers for each model in the appropriate #ifdef,
  instead of wrapping all of them with "#ifdef DS5000".

* Wrap the TC autoconfig for each model in the appropriate #ifdef.
1996-06-15 19:05:24 +00:00
gwr 8ef4845dec merge 1.2 changes 1996-06-15 14:58:02 +00:00
gwr 7d5909191e Remove unnecessary CPP conditional around file contents. 1996-06-15 14:47:49 +00:00
gwr 75a1ca034a Add KGDB support 1996-06-15 14:34:32 +00:00
jonathan 6f359b538f Fix for PR #1828 and partial fix for PR #2548:
* Eliminate the #ifdef DS5000 and kernel config option DS5000 altogether.
  option DS5000 was a hangover from 4.4bsd/pmax; it's never been clear
  if it means "support for DS5000/200" or "support for any TC machine".
  This implictly fixes pr 1828.

* Use the  "tc.h" and NTC generated by config for a "tc? at mainbus"
  where appropriate, intsead of #ifdef DS5000.


* Canonicalize the spelling of kernel options that enable support
  for particular models. Use
	DS5000_25	for the Personal Decstation aka MAXINE aka KN02-ca
	DS5000_100	for the 5000/1xx series aka KMIN aka KN02-ba
	DS5000_200	for the 5000/200 aka 3MAX aka KN02
	DS500_240	for the 5000/240 aka 3MAXPLUS aka KN03

and change  DS_5000_xxx to DS5000_xxx everywhere.

* Wrap the  interrupt handlers for each model in the appropriate #ifdef,
  instead of wrapping all of them with "#ifdef DS5000".
1996-06-15 08:57:52 +00:00
jonathan 78688c01fe Update kn01_intr() to allow configuration of the kn01 (ds3100) baseboard
lance device at any unit number, not just le0. Other unit numbers
(and interrupt handlers) are still hardcoded.
1996-06-15 07:11:20 +00:00
cgd e8fab58348 allocate a flat 10% of memory to buffer pages. 1996-06-15 03:55:17 +00:00
cgd 55651c941b punt on the grep and do all the file selection in find. don't try
to build kernels from files with '.' anywhere in their names.
1996-06-15 03:45:02 +00:00
cgd d73abf41aa avoid unnecessary checks of m_get/MGET/etc.'s return values. When
they're called with M_WAIT, they are defined to never return NULL.
1996-06-14 22:21:12 +00:00
cgd 1beca2d96b add a new machine-dependent sysctl, machdep.root_device, which is the
(string) name of the root device.  It's a string so that it can
be used before dev_mkdb has been run.
1996-06-14 20:40:46 +00:00
cgd 5c5c2d1804 add a delay before serial console is initialized, to allow any
outstanding PROM output to drain.  Move the console-type printfs
so that they're only printed if console selection fails.
1996-06-14 20:38:11 +00:00
cgd ef8b4f596a clean up entry printf 1996-06-14 20:04:45 +00:00
cgd 643339aa90 Don't pass arguments to the kernel, trim unnecessary environment
calls, kill 'ask' loop (i.e. if boot fails, halt), seperate
ECOFF and a.out support into seperate options.
1996-06-14 20:02:52 +00:00
christos e2e0f65050 Merge pagedvn changes from OpenBSD and added mips defines. Also added
ELF_MAP_PAGE_ZERO define. The entry point computation is different than
the one OpenBSD uses.
1996-06-14 18:15:55 +00:00
mrg 2a0f025a41 use VATTR_NULL macro. 1996-06-14 09:27:23 +00:00
oki 5e55373e7a change BINDIR /usr/local/bin --> /usr/bin 1996-06-14 05:16:53 +00:00
scottr 3f231717ab raise splimp() to spl4(); we need to block zs interrupts, too. 1996-06-14 04:42:50 +00:00
jtc 2074cccbb8 Cast `sec' to a u_quad_t in `sec * 1000000 + usec' so the expression
is computed with quad integer arithmetic (so it won't overflow after
4294 seconds).
1996-06-13 23:22:22 +00:00
cgd 1a6ddd64d7 cpu_model must be an array to make sysctl be happy. 1996-06-13 23:16:43 +00:00
cgd 0729742246 fix error in 'swap generic' nfs root picking code (a case that can never
currently happen) which forgot to set rood device correctly.
1996-06-13 23:10:37 +00:00
gwr e63a9d929c Add tty_attach(), and fix a type mismatch. 1996-06-13 23:05:40 +00:00
jonathan 465d53bd4d Fix sense of strcmp() comparison that broke dcmatch() on real ioctl asic hw. 1996-06-13 22:43:33 +00:00
pk 7b9f9e5426 Check user access rights only if `uio_segflg' says it's a user space buffer. 1996-06-13 22:30:18 +00:00
pk e2655dd7cc Allow DIAGNOSTIC kernels a FLUSHWIN trap in order to record stack traces
(currently used by the nullfs filesystem code, noted by der mouse).
1996-06-13 22:26:21 +00:00
cgd af576d8a9f no need for a local implementation of SIOCGIFMTU; delete it.
s/ifr_metric/ifr_mtu/ where appropriate (in SIOCSIFMTU code), since
MTU data no longer (loggically) stored in ifr_metric.
1996-06-13 21:51:53 +00:00
cgd 1f29d4b51f no need for a local implementation of SIOCGIFMTU; delete it. 1996-06-13 21:50:32 +00:00
cgd ba3b2a87a2 implement SIOCGIFMTU in a generic manner, by pulling the MTU out of
each netif's if_data structure.  There's no point in making each
driver implement this ioctl.
1996-06-13 21:49:43 +00:00
cgd 2e3d795708 add an ifru_mtu member to the union in 'struct ifreq', and add a
#define so that ifr_mtu accesses that.  MTU shouldn't be overloaded
with ifr_metric, if only for clarity.  Adding an MTU field to the
union hurts nothing (in fact, does not actually _change_ generated
code), and does improve clarity.
1996-06-13 21:48:34 +00:00
cgd 49c6ac313f update readme files for present reality. 1996-06-13 20:36:04 +00:00
christos d83602c110 Simplify and add comments. 1996-06-13 19:27:01 +00:00
cgd 53a97a8870 get rid of now-unnecessary kernel config files (now that swap generic
works) for my machines and now-nonexistent test machines.  Clean up
options in existing config files so that they're more consistent.  Add
more units of various pseudo-devices to several.
1996-06-13 19:18:16 +00:00
is 052a8aa0ba Fix a bug in the 68020+68851 / 68030 branch of the buserr handler:
For these CPU's, you have to use the ptest operation to search the mmu
tables in order to decide whether it is a real bus error or just a
page fault or write protection violation.

Our old code assumed user space always when calling ptest, and
erroneously assumed the BUSERR bit in the ptest output (mmusr
register) is the only indication for bus errors to check.

In fact, we have to follow a multistage decision tree to decide. 68060
CPUs are much easier to handle correctly.
1996-06-13 19:12:25 +00:00
christos 4d9a6e0930 - Pass the Elf32_Ehdr in the linux probe function, and use it!
Since linux binaries are (mostly) always compiled with gcc, look for
the gcc signature in the .comment section header: "\0 GCC: (GNU) ".
I've changed the probe order in kern/exec_elf.c to probe for linux ELF
binaries first and fall back to SVR4 binaries. This makes statically
linked binaries work for both linux and svr4. Note that gcc-compiled
svr4 binaries, still contain the operating system signature first and
then the GCC signature, so there is no conflict. Yes this is a hack.
1996-06-13 18:42:01 +00:00
christos 9c07ccd65c - Add definitions for Elf section headers.
- Add prototype for elf_read_from.
- KNF.
1996-06-13 18:36:42 +00:00
christos 306987eb37 - Pass the Elf exec header in the emulation dependent probe functions.
- remove static from elf_read_from().
1996-06-13 18:35:25 +00:00
christos 5d27db0882 Pass the elf exec header in the probe function. 1996-06-13 18:33:54 +00:00
cgd 386aeb320f clean up copyright notices 1996-06-13 18:31:49 +00:00
mark 103a43ae29 Get the interrupt flags address from sc->sc_specific.sc_podule rather
than sc->sc_podule.
1996-06-13 18:29:45 +00:00
jonathan 592ca35c51 Fix typos in SUSP and DSUSP mapping when setting Ultrix posixmode tty
attributes  (was 112 and 113,  should be 12 and 13).
1996-06-13 18:13:34 +00:00
cgd 1abc77f86d if kmem_malloc() fails while trying to allocate an mbuf cluster, try
and free some space by calling m_reclaim().  Also, log the "mb_map full"
error message (at most) every 60-seconds.  The old code would log it
once over the lifetime of the system, but that's not a useful diagnostic.
(More useful is the new behaviour, which roughly indicates how often
periods of heavy load occur, without spamming the console and system
logs with messages.)
1996-06-13 17:02:23 +00:00
cgd 06c209646e handle the case where kmem_malloc() returns NULL in the 'can wait' case.
Right now, this code just panic()s (same as kmem_malloc() used to do
before, but different message), but in the future it should be modified
to try to reclaim wasted memory.
1996-06-13 16:53:34 +00:00
cgd 62034405e6 allow kmem_malloc to return NULL if canwait is set and there's no map space
left, rather than panic()ing.  This allows callers to set their own policy
for how to handle the shortage.  Add a few comments.
1996-06-13 16:52:06 +00:00
jonathan 7adf57b6f5 Fix the reworked autoconfiguration to also boot on a 5000/200.
Check and avoid trying to configure (or dereference unknown arguments
to dcattach() and dcmatch() when called with busses the driver doesn't support.
1996-06-13 08:06:12 +00:00
cgd f41d0a3d9b in select(), if it's a small number of file descriptors use a
automatic array rather than an array allocated with alloca().
(This was the only use of alloca() in the kernel, and it wasn't
necessary or consistent with the way other functions in this file
work.)
1996-06-13 05:08:47 +00:00
cgd d97900c6f4 boot device autodetection, using PROM's boot device environment variable.
This is a bit of a hack, as-is, since there's a lot of code that's
outright duplicated between the various files and because it doesn't
support detection of a network device as the root device.  The
latter's not a problem yet, because NetBSD/Alpha can't load the kernel
from the network to begin with.
1996-06-13 04:53:47 +00:00
cgd 1e2b610d5a #ifdef __alpha__, call a machine-dependent function with new device
structure and 'aux', right before ca_attach is called for the
newly-attached device.  This allows the alpha port to do root device
autodetection without modifying every bus and device driver which could
be in the 'boot path.'  In the long run, it may make sense to make
this machine-independent.
1996-06-13 04:50:29 +00:00
cgd 3a7c6bd270 note that the DEC 21000 isn't supported in the same way as for the 2000/300 1996-06-13 00:28:59 +00:00
cgd b26a6f1d3d We'd like to differentiate case for kernel boot flags, but the Alpha AXP
Architecture Reference Manual says that we shouldn't.  'a' is now back
to ~RB_SINGLE, and 'n' and 'N' now get RB_ASKNAME.
1996-06-13 00:24:52 +00:00
pk fbc5fd1fca Bound the buffer cache to 1/2 of kernel virtual memory, so machines with
lots of core don't run out of core (takes care of PR#2506).
1996-06-12 23:48:51 +00:00
pk 5ce90889f0 Remove unneeded header file. 1996-06-12 23:40:29 +00:00
cgd a59ba05045 don't pass "argc," "argv," and "envp" from boot blocks to kernel;
they're unnecessary and there's no reason to use them.  Have the
kernel get necessary values from the PROM directly.
1996-06-12 22:11:28 +00:00
cgd 3b3f71fb25 don't pass the firmware's console environment variable to the various console
initialization functions any more.  None of them used it, and they can
get the same data more easily via the RPB.
1996-06-12 22:06:40 +00:00
cgd f6d4b1367d null-terminate strings returned by prom_getenv() 1996-06-12 21:59:52 +00:00
mark 31c4f7d574 Only read beyond the first byte of the podule header if we know that
an extended header is present i.e. don't assume an extended header as
however unlikely there could be a podule that doesn't have one.
Calculate an absolute address for the podule's interrupt mask rather
than leaving it relative to the base address of the podule.
If the interrupt status pointers are not present or are zero then
used the default bits as specified in the podule specification to
determine if the podule is interrupting.
1996-06-12 21:09:55 +00:00
mark 857439698b Claim the interrupt when leaving the interrupt handler as there can
only ever be a owner of the netslot interrupt.
Don't declare ebintr() as static.
1996-06-12 21:01:56 +00:00
mark 27ab616466 Don't claim the podule interrupts but pass them on in case of
chained podule interrupt handlers.
Fill out the ih_maskaddr and ih_maskbits fields in the interrupt handler
structure so that interrupt dispatcher knows where to look to determine
if the handler should be called.
General code tidy up and source code formatting.
1996-06-12 20:59:10 +00:00
mark 4dd0dabfca Don't claim the podule interrupts but pass them on in case of
chained podule interrupt handlers.
Fill out the ih_maskaddr and ih_maskbits fields in the interrupt handler
structure so that interrupt dispatcher knows where to look to determine
if the handler should be called.
1996-06-12 20:46:58 +00:00
mark e5aad86168 Allow the mouse interrupt to be specified in the config file. Fall
back on timer 1 interrupts if none is specified.
Only set up timer 1 is the driver is using timer 1 interrupts.
Don't claim the interrupt but allow them to be passed on to other
handlers.
1996-06-12 20:30:59 +00:00
mark 7d688793a8 Claim the interrupt if it has been dealt with otherwise pass it on. 1996-06-12 20:28:29 +00:00
mark 08ec43427f Added some sanity checks to irq_claim().
Fixed the handling of IPL_NONE.
Debugged support for interrupt chaining.
Fill out the intrnames array with the name of the interrupt handler
currently at the head of the chain.
Guarded several sanity checks with #ifdef DIAGNOSTIC.
1996-06-12 20:23:58 +00:00
is 51e832dc49 Fix a few off-by-one errors in bitnumbers used by print_fcode.
ptestX fc,<ea>,M used to be printed with the wrong semantics of the fc
field, and could panic the kernel if fc was interpreted as a register number.
1996-06-12 20:22:42 +00:00
mark 459cefbe67 Added support for the RC7500 interrupt registers
Added interrupt chaining.
Removed some dead debugging code.
Guarded several sanity checks with #ifdef DIAGNOSTIC
Make sure interrupts are disable while updating the IOMD interrupt
masks.
1996-06-12 20:19:35 +00:00
mark 1fd9b6f37c Removed some dead code that could never get executed (followed a panic).
Updated several panic messages to indicate what part of the fault code
they came from.
1996-06-12 20:15:28 +00:00
mark 977f90bd3b Removed copyin()/copyout() stub code.
Removed several old debugging functions that are no longer needed.
Block interrupts while updating the soft interrupt masks.
Fixed softclock interrupts and added IRQ_SOFTPLIP to the SPL_SOFT mask.
1996-06-12 20:12:04 +00:00
mark 47c523fff0 Spilt the copyinout() function into two separate functions copyin()
and copyout() so that the address space checks are done here rather than
in a bit of stub code.
1996-06-12 20:06:00 +00:00
mark 7b05ce2841 Updated to match changes in the irq handler structure.
Define symbols for the address space limits that copyin() and copyout()
compare against.
1996-06-12 20:02:42 +00:00
mark 13ff05d513 Don't claim the interrupts in hardclock() and statclock() but allow
them to be passed on to other interrupt handlers attached to the
timer interrupts.
1996-06-12 20:00:21 +00:00
mark b8dfbd8fe6 Don't use signed compares when determining the copy direction. 1996-06-12 19:58:43 +00:00
mark 120210258e Added a new machine command intrchain to dump the interupt handler
chains.
1996-06-12 19:57:06 +00:00
mark 8f541bdd1d Added a couple of comments.
Defined VM_MAXKERN_ADDRESS as the maximum address for the kernel address
argument to copyin() and copyout().
1996-06-12 19:55:04 +00:00
mark 78d05630aa Define insl() and outsl() as macros that currently just panic for the
moment.
1996-06-12 19:50:14 +00:00
mark 167d543662 Define several new macros for testing the processor mode. 1996-06-12 19:48:48 +00:00
mark 544631c0be Guard structures and prototypes with #ifndef _LOCORE
Rename the currently unused irq handler structure fields for podule
interrupts so they make more sense.
Define IPL_NONE as a positive value instead of -1 and increase the
number of IPL levels.
1996-06-12 19:47:11 +00:00
mark 4d280731dd Updated comments.
Print the irq masks for IPL_NONE.
1996-06-12 19:42:23 +00:00
mark 1f81e394d6 Only check the proc pointer in userret() if DIAGNOSTIC is defined. 1996-06-12 19:40:48 +00:00
mark d4a21812c0 Updated the arm_fpe_boot() prototype. 1996-06-12 19:37:37 +00:00
mark bbf3f35a4c Pass the cpu structure to the FPE boot function so that the FPU class
and type can be updated if a FPA is detected.
1996-06-12 19:37:03 +00:00
mark d9d6f7f246 RCS Id police. 1996-06-12 19:24:19 +00:00
mark 3ed835cae8 Only attach 1 VSYNC interrupt handler instead of a interrupt handler per
virtual console.
1996-06-12 19:12:57 +00:00
pk 2266b8dd57 Use the setting of the ESPCFG2_FE bit rather than revision number to decide
on the ESP chip's maximum transfer count.
1996-06-12 19:12:19 +00:00
cgd 5006cfa9ac remove old, unused, framework for boot device detection. It's going
to be replaced by something new and working.
1996-06-12 19:00:17 +00:00
pk d16dcebba7 Add signature for the Fujitsu MB86904 processor. 1996-06-12 18:39:15 +00:00
pk f87e51fb6b Turn on RB_ASKNAME if a `swap generic' kernel was not able to determine
the boot device. Also, call boot device hooks for all types of kernel
configurations.

Print "mainbus" name on sun4m machines.
1996-06-12 15:24:05 +00:00
pk 4dd7cb4f5c Use `ic_*' cacheinfo fields, and in the split-I&D case, derive `c_linesize[l2]'
from from the corresponding `ic_*' and `dc_*' values. This is not perfect,
but it makes SS4s and SS5s run until we have proper per-cpu cache handling.
1996-06-12 14:57:03 +00:00
pk 52d6871979 Use `ic_*' cacheinfo fields, and in the split-I&D case, derive `c_linesize[l2]'
from from the corresponding `ic_*' and `dc_*' values. This is not perfect,
but it makes SS4s and SS5s run until we have proper per-cpu cache handling.

Use the `cache-physical?' property to determine the value of `vactype'
on sun4m's. If absent, set vactype to VAC_WRITETHROUGH (XXX) else VAC_NONE.

Print simpler sun4m CPU identifier on attach.
1996-06-12 14:56:09 +00:00
pk 6281105c8f Introduce separate ic_* fields for instruction caches. 1996-06-12 14:47:45 +00:00
pk 6a4a26da0c Correct test for `dmachild' which failed on `esp at obio*' configs (PR#2541). 1996-06-12 12:46:21 +00:00
oki add137e8e1 fixed sometimes hang up bug at boot time. 1996-06-12 12:09:30 +00:00
cgd e1078396e5 copy down from libkern:
>use p->hashfraction when doing non-time-critical calculations, rather than
>using HASHFRACTION directly.  in time-critical calculations, if HASHFRACTION
>is a power of two, check that p->hashfraction == HASHFRACTION and if so do
>the calculation with the compiled-in value so that the compiler can optimize
>out (potentially) expensive divisions.  if p->hashfraction != HASHFRACTION,
>actually do the division.  This has the result that on machines with slow
>division, the division can be optimized out of the common case, but that
>if HASHFRACTION changes from the compiled-in value (for whatever reason),
>profiling will still work.  Changes suggested by Chris Torek.
1996-06-12 04:16:53 +00:00
cgd eef7b263f1 remove GENERIC_NFS, because:
(1) right now GENERIC can boot via NFS, and
	(2) in the long run, GENERIC should autodetect network booting
	    and pick the correct root device.
Because of (1), GENERIC_NFS is no longer _needed_ in the short term.
Because of (2), GENERIC_NFS is not _wanted_ in the long term.
1996-06-12 02:00:10 +00:00
cgd 811bbb5c72 rework setroot() and friends, largely by cloning from the sparc code
and whacking a bit here and there where appropriate.  Does not yet do
automatic root device detection, but that's much easier to add now.
RB_ASKNAME now supports specification of network devices, for diskless
booting.  Also, RB_ASKNAME is now supported on _all_ kernels.
1996-06-12 01:57:17 +00:00
cgd ba53a90965 add example 'config' specs for 'root on sd0...' and 'root nfs...' 1996-06-12 01:44:31 +00:00
cgd 698dd157cf remove "options GENERIC" since it's not needed with new setroot() code for
GENERIC kernels, and since it no longer has any other special meaning.
1996-06-12 01:42:46 +00:00
cgd 9d614a5f3f GENERIC no longer has any special meaning (don't set RB_ASKNAME #ifdef GENERIC) 1996-06-12 01:38:09 +00:00
cgd 5109def361 change the meanings of some boot flags:
a (was ~RB_SINGLE, redundant with 'A') -> askname
n (was RB_ASKNAME) -> no meaning
d (was RB_DFLTROOT) -> no meaning (unnecessary with new setroot() code)
m (was RB_MINIROOT) -> no meaning (miniroots currently unsupported;
    #ifdef'd out)
N (was ~RB_ASKNAME) -> no meaning (unnecessary; just don't specify RB_ASKNAME!)
1996-06-12 01:36:01 +00:00
cgd 4a4d4dfc26 copy from sparc port, trim bogus swdevt entries 1996-06-12 01:26:37 +00:00
thorpej 87a6b74c89 Sync up with my local tree:
- add union filesystem
	- add DEFTA device
1996-06-11 23:24:02 +00:00
pk 94cd1644ee Avoid the "features enable" bit on ESP100A's; apperently this is a source
of trouble on many machines (from Krister Walfridsson; PR#2537).
1996-06-11 22:26:16 +00:00
pk 49aec33417 pmap_changeprot: truncate VA argument to page-boundary. Needed in case we
call cache_page_flush().
1996-06-11 21:54:44 +00:00
cgd f4e69ce47d fix pasto in last commit. 1996-06-11 21:28:31 +00:00
cgd 2d9140fb20 add definitions and code to support use of multiple I/O and _dense_
memory regions.
1996-06-11 21:25:25 +00:00
cgd bbdf2df9b0 since bus_mem_subregion() can return failure, don't even bother to try
to handle the case where subregion offset isn't a multiple of 8.
1996-06-11 21:20:08 +00:00
cgd d714189d53 implement bus_mem_subregion() and bus_io_subregion(). 1996-06-11 21:16:21 +00:00
pk 50e7d72655 Protect vnode when updating for started IO on buffers. 1996-06-11 11:15:36 +00:00
mhitch cc47447cfc Try to avoid collisions with reselection when starting a new selection.
Enable reselections as soon as possible after a disconnect - prevents
losing a reselecting device.
Check for and ignore a spurious interrupt during a DMA input (from the
Mach driver).
1996-06-11 05:15:32 +00:00
scottr 26f0e61730 Update for current reality 1996-06-11 03:39:20 +00:00
scottr c72d612674 Deal with interrupt flags more carefully, and use the correct offset
for PB500-series SCSI I/O.  While I'm here, update the copyright.
1996-06-11 03:20:23 +00:00
scottr c74cec9954 Add missing cpu model info for Powerbook 500, and correct the ROM
vectors for the same.
1996-06-11 03:11:06 +00:00
scottr 3bac925c32 Fix bounds check for fpu description array. 1996-06-11 02:56:22 +00:00
scottr 5057bf9c78 Add Powerbook 500 series machine ID 1996-06-11 02:52:54 +00:00
mycroft 95f26583aa Add a missing PHOLD()/PRELE() pair. 1996-06-11 01:49:38 +00:00
cgd e7c37e7e8c note that m_get/MGET and friends, and M_PREPEND will never fail if M_WAIT
is specified.  also note that MCLGET _can_.
1996-06-10 23:55:39 +00:00
is 5af73f7ab0 Activate M68040 cache flushing code also in 68060 only kernels. 1996-06-10 16:11:20 +00:00
cgd 352d972c94 locc() is unused. Remove it from the machine-independent kernel interface. 1996-06-10 15:33:33 +00:00
cgd 361986fc4b kill #ifdef DATAKIT and Datakit entries in mbuf type table. 1996-06-10 12:51:21 +00:00
thorpej 156eaa5f84 Add "needs-count" to the `ac' driver so an ac.h file gets generated. 1996-06-10 06:48:44 +00:00
thorpej a323ce7b09 Add the "Python 28849" to the list of `supported' tape drives as a PYTHON
type.
1996-06-10 06:39:31 +00:00
cgd 9aa03f4dd9 update for changed definitions in ciareg.h 1996-06-10 00:04:53 +00:00
cgd 2465bd00e5 store HAE_MEM and HAE_IO register contents in the cia configuration
structure, and add prototypes for the bus_{mem,io}_init() functions.
1996-06-10 00:03:59 +00:00
cgd 55cbf94f22 read value of HAE_MEM and HAE_IO, so that the bus_* functions can
do window recognition correctly.
1996-06-10 00:02:31 +00:00