pk
ee5af6c31e
Mask out 64-bit burst capability on sun4m's, since some models (SS20)
...
erroneously report this in their sbus properties.
1999-04-14 09:50:01 +00:00
pk
08e6e1fdc0
Fix TAB-jump lossage in previous.
1999-04-14 09:48:37 +00:00
pk
37653920ec
- try to identify multi-processor machines only on sun4m.
...
- mainbus_attach: on sun4's do not fall through to sun4c/sun4m configuration.
1999-04-14 09:16:11 +00:00
pk
570630211c
PROM likes to see CR-NL.
1999-04-14 09:12:46 +00:00
ad
33df642800
Leave font selection to 'rasops' until 'rasops1' has been completed and can
...
handle non {8,16} pixel wide fonts.
1999-04-13 19:02:38 +00:00
ad
d959cff2ca
Fonts for rcons are now handled in sys/dev/wsfont.
1999-04-13 18:59:15 +00:00
ad
5140c302ce
Bring sparc/sparc64 fb code and kernel configuration into line with
...
rcons changes.
1999-04-13 18:45:40 +00:00
pk
b16b8de052
Identify ourselves as a SCSI channel to the DMA chip.
1999-04-12 23:01:00 +00:00
pk
b13e5d1469
Quote "AS IS" as in the majority of Carnegy Mellon notices.
1999-04-12 20:38:17 +00:00
chs
f455dd6596
add a `flags' argument to uvm_pagealloc_strat().
...
define a flag UVM_PGA_USERESERVE to allow non-kernel object
allocations to use pages from the reserve.
use the new flag for allocations in pmap modules.
1999-04-11 04:04:04 +00:00
pk
c40eb1cd97
Fix a pasto in copyright text which has been procreating like rabbits..
1999-04-06 20:09:18 +00:00
thorpej
967b8c433c
Don't call configure() from cpu_startup().
1999-04-01 00:17:45 +00:00
mycroft
83cb600015
Enable rnd.
1999-03-31 14:29:33 +00:00
pk
65707bd131
* Pull in more uvm prototypes.
...
* Retrieve MID on all modules.
1999-03-31 14:09:09 +00:00
pk
1469e9af76
The MMU_3L option became SUN4_MMU3L long ago.
1999-03-30 19:41:30 +00:00
abs
e9ea59935c
Make this compile again after mycroft's pmap fixes.
1999-03-27 06:31:31 +00:00
wrstuden
2adccc50fa
Add pps support. Only enable pps if CLOCAL & !MDMBUF.
1999-03-27 01:21:36 +00:00
mycroft
12d512bbb7
Oops; vm_offset_t -> vaddr_t.
1999-03-27 00:30:06 +00:00
mycroft
9c6b797796
Changes for modified pmap_enter() API:
...
* Map the message buffer with access_type = VM_PROT_READ|VM_PROT_WRITE `just
because'.
* Map the file system buffers with access_type = VM_PROT_READ|VM_PROT_WRITE to
avoid possible problems with pagemove().
* Do not use VM_PROT_EXEC with either of the above.
* Map pages for /dev/mem with access_type = prot. Also, DO NOT use
pmap_kenter() for this, as we DO NOT want to lose modification information.
* Map pages in dumpsys() with VM_PROT_READ.
* Map pages in m68k mappedcopyin()/mappedcopyout() and writeback() with
access_type = prot.
* For now, bus_dma*(), pmap_map(), vmapbuf(), and similar functions still use
access_type = 0. This should probably be revisited.
1999-03-26 23:41:25 +00:00
pk
3eab58ceec
UVM no longer an option.
1999-03-25 22:21:09 +00:00
pk
422c4dbb41
Put back <uvm/uvm.h>
1999-03-25 22:13:40 +00:00
mrg
7b93dd1117
remove opt_uvm.h
1999-03-25 00:41:46 +00:00
mrg
ca5f9685bb
clean up kernel/config files files for machVM lossage.
1999-03-24 06:06:09 +00:00
mrg
d2397ac5f7
completely remove Mach VM support. all that is left is the all the
...
header files as UVM still uses (most of) these.
1999-03-24 05:50:49 +00:00
drochner
76fa1751fe
Add a macro to check for sufficient pointer alignment in bus.h context,
...
"BUS_SPACE_ALIGNED_POINTER()".
Equal to the param.h "ALIGNED_POINTER()" normally, but obeys additional
requirements of the bus_space_xxx_n() macros. (BUS_SPACE_DEBUG)
1999-03-23 21:29:03 +00:00
thorpej
a77ccfe460
Garbage-collect.
1999-03-20 01:40:25 +00:00
pk
1e0c7c3ed1
Fix various things that kept this bus front-end from functioning..
1999-03-18 21:33:14 +00:00
chs
ab7269f62a
if uvm_fault() fails with KERN_RESOURCE_SHORTAGE, send a SIGKILL
...
and print a message about it. this will be used to recover from
out-of-swap conditions.
1999-03-18 04:56:01 +00:00
chs
bb8971afc3
for emul_sunos processes, don't change vmspace->vm_maxsaddr
...
for faults within a fudge factor of the end of the stack.
the sunos ld.so maps some zero-fill memory there and uses
it while loading shared libs. ignoring these shenanigans
allows ps to report the correct stack usage for sunos programs.
1999-03-18 04:27:54 +00:00
pk
848e39dd70
Shouldn't call getpropint() on old proms: only get a CPU's `mid' if needed.
1999-03-17 23:21:38 +00:00
pk
9ae1ca2595
Got a VME probe result backwards.
1999-03-17 23:20:16 +00:00
sommerfe
bc533621ed
defopt MINIROOTSIZE
1999-03-17 18:59:21 +00:00
chs
8e61ed9705
in pmap_bootstrap4_4c(), remove any bogus mappings the PROM
...
left around in the mmu.
1999-03-16 03:45:36 +00:00
jonathan
69d2d27c1b
Use bus_space tags and handles, embedded in MD hooks AM7930_{READ_WRITE}_REG
...
to handle MD delay and bus padding. Tested on sparc2 by David Brownlee.
Should use regmaps, but that breaks sparc pDMA assembly code.
1999-03-14 22:29:00 +00:00
perry
d446fb449c
exterminate ovbcopy. patches provided by Erik Bertelsen, pr-7145
1999-03-12 22:42:30 +00:00
fair
02b2bb48b7
Apply patch from PR#6443 to set LED properly when BLINK option is
...
not set.
1999-03-11 06:44:40 +00:00
pk
e951781842
_C_LABEL() is not implied by _ENTRY().
1999-03-07 22:36:04 +00:00
pk
3846cac1e1
Use `-Ttext' switch & collect ld options in LINKFLAGS.
1999-03-05 11:13:39 +00:00
pk
da1407c412
Use <machine/asm.h> to construct C identifiers.
1999-03-05 11:12:16 +00:00
pk
994c338f0a
Apply C_LABEL() to `esym' too.
1999-03-05 11:07:03 +00:00
pk
ebd1f5abc9
Have pseudo function return a value.
1999-03-05 10:55:55 +00:00
pk
29db4ce692
Use macros from <machine/asm.h> to construct C labels.
1999-03-05 10:45:25 +00:00
pk
a1aa41e201
consinit: cover all cases.
1999-03-05 08:30:33 +00:00
pk
cf93b65b10
Print version prettier.
1999-03-02 13:41:03 +00:00
pk
e2909faa19
Sanatize consinit() a bit.
1999-03-02 13:40:05 +00:00
kim
d3a3d58726
Try not to run when kernel is in secure mode.
1999-03-01 01:05:51 +00:00
pk
f008a1bbd0
Missing `break'.
1999-02-27 16:13:59 +00:00
pk
49035b27c8
Do not call printf() from a CPU that is spinning up; defer the probe
...
messages to cpu_attach() where the boot processor takes care of them.
This also necessitates a slight change in the way the FPU name is stored.
1999-02-27 13:11:21 +00:00
scottr
d32ed292af
defopt BUFCACHE and BUFPAGES.
1999-02-27 06:39:34 +00:00
chs
31ef6fbb8d
add RODATA(), which is like ENTRY() but without the _PROF_PROLOGUE.
1999-02-24 16:02:19 +00:00
pk
9efc61e01c
Accept __syscall() in NetBSD a.out emulation.
1999-02-23 06:47:05 +00:00
pk
372e76a3bb
Since V2 & V3 proms already pass us ihandles for stdin and stdout,
...
there's no need to open the device a second time. It suffices to
just convert the `ihandles' to `phandles'.
1999-02-22 17:15:30 +00:00
kristerw
871ac39c21
The recent simplification of the lint version of the va_arg macro broke
...
linting of vfprintf.c, where va_arg is used as
*va_arg(ap, quad_t *) = ret;
Make the macro slightly more complicated...
1999-02-20 00:33:55 +00:00
christos
85a8ddde1d
make the #if 0'ed code compile...
1999-02-18 17:23:55 +00:00
christos
88bdeec361
&& || confusion.
1999-02-18 17:21:14 +00:00
pk
8d45c4eb84
Use promlib version correctly.
1999-02-16 07:22:17 +00:00
pk
6139fd16f3
Install the `machine' link again; it went missing a while ago.
...
Add `-I.' to CPPFLAGS to use it.
1999-02-15 19:31:34 +00:00
pk
2a1ecde639
Transfer copyright to TNF.
1999-02-15 19:01:38 +00:00
pk
d292580f3f
Use PROMLIB to streamline this code. This also provides the bulk of
...
Open Firmware boot code.
1999-02-15 18:59:36 +00:00
pk
8460b71d8d
* Add promlib.c to common sources.
...
* Compile with prototype warnings turned on.
1999-02-15 18:52:12 +00:00
christos
c95ea656d6
Elf bits.
1999-02-14 20:04:26 +00:00
pk
059697a999
Use PROMLIB's prom_setcontext().
1999-02-14 14:37:45 +00:00
pk
3ee0ba2805
romcall() => prom_halt()
1999-02-14 14:37:15 +00:00
pk
67df93822d
Add size arg to getpropstringA
1999-02-14 14:03:16 +00:00
pk
8edcd03969
Use the PROMLIB interface.
1999-02-14 12:44:31 +00:00
pk
9896803ae6
Fake a label only if it appears to be blank, and if so use RAW_PART
...
instead of 0.
1999-02-14 12:42:33 +00:00
pk
4b9ee1f8ce
This file is superseded by promlib.c
1999-02-14 12:38:03 +00:00
pk
4dc82c28b4
Exit: obp.c; Enter: promlib.c & openfirm.c
1999-02-14 12:36:50 +00:00
pk
a8456f4e8a
Check OBP magic: if no match then assume an Openfirmware PROM.
1999-02-14 12:33:55 +00:00
pk
1e5bf77774
Adjust to functionality and changes introduced with <machine/promlib.h>
1999-02-14 12:26:16 +00:00
pk
a99ba2939c
Provide a uniform interface to most of the PROM functions.
...
Include an Openfirmware back-end (mostly copied from sparc64).
1999-02-14 12:23:03 +00:00
christos
6e13c7d4b5
Avoid defining __extension__ if we don't need to. Breaks lint.
1999-02-13 20:35:02 +00:00
lukem
dcab0210a0
convert from NOxxx= to MKxxx=no.
...
include <bsd.own.mk> if testing a MKxxx variable.
1999-02-13 02:54:17 +00:00
mycroft
2a304686e6
Minor cleanup.
...
Make the initializer for BAUDLO depend on PCLK directly; it was incorrect on
some ports where PCLK is not 4.9152MHz.
XXX Is the default value actually used?
1999-02-11 15:28:03 +00:00
bouyer
f6f9f8a965
Change DIOCEJECT to do what's needed to eject a device before the eject
...
command (unlock for sd and cd) if no other partitions are open, return
EBUSY otherwise. DIOCEJECT will have the old semantic if its argument is not
0. The old ioctl has been renamed to ODIOCEJECT for binary compatibility.
1999-02-08 16:33:16 +00:00
fvdl
1461618ead
Make this compile for SUN4 only.
1999-02-08 00:13:20 +00:00
christos
d30ef27fb0
s/ELF/__ELF__/
1999-02-07 20:21:09 +00:00
jonathan
c9d036d796
defopt MEMORY_DISK_{HOOKS,SERVER,IS_ROOT}.
1999-02-07 09:34:58 +00:00
hannken
c4bc93ad94
Define _STANDALONE instead of STANDALONE.
1999-02-06 13:34:15 +00:00
mycroft
be1af660c0
Don't set DCD_IE in the frontends. KGDB doesn't even use DCD, and the tty
...
frontends get it from zsparam() anyway.
1999-02-03 20:25:05 +00:00
mrg
1ccaf05ff1
add CPU_SUN4U, to make libkvm compile.
1999-02-01 22:20:02 +00:00
drochner
cc66380116
fix address incrementing in the read_region_N, write_region_N,
...
set_region_N and copy_region_N methods
1999-01-29 16:30:51 +00:00
mycroft
897a8a7f29
Mark [hn]to[nh][ls]() with __const__, so they are subject to CSE.
1999-01-24 12:55:01 +00:00
pk
922c3eb8f9
Read & clear fault status register after probing translation.
1999-01-24 10:12:22 +00:00
pk
84826812fc
Don't tread on cache tags if the cache is already enabled.
1999-01-24 10:11:23 +00:00
christos
64df2f4fd8
Remove old prototypes (move to mi code), and add the xrs gunk!
1999-01-21 23:05:14 +00:00
christos
0b836e1a7b
move the machine independent portion out of the context functions.
1999-01-21 22:58:57 +00:00
mycroft
399318b456
Vanity config files.
1999-01-21 09:58:26 +00:00
pk
5ce78d9342
Fix think-o in srmmu_cache_flush().
1999-01-20 15:25:29 +00:00
pk
565d3768e5
Catch `Unimplemented Flush' traps.
1999-01-20 00:15:07 +00:00
pk
521611091a
Set the Hypersparc ICCR bits.
1999-01-19 23:07:29 +00:00
pk
88993b57d9
Define macros to read & write Ancillary State registers.
1999-01-19 23:05:52 +00:00
pk
66cd211961
Define Hypersparc ICCR bits.
1999-01-19 23:04:02 +00:00
thorpej
2fb041ce0a
No need for <sys/mtio.h>
1999-01-19 18:18:41 +00:00
pk
a711033aa2
Deal with SIR_SERIAL (for `com' devices).
...
XXX - consider using __GENERIC_SOFT_INTERRUPTS instead
1999-01-19 10:04:42 +00:00
pk
dd91d8a2b4
Add SIR_SERIAL soft interrupt source.
1999-01-19 10:02:40 +00:00
pk
58fa0024a5
Add `qe'.
1999-01-17 20:45:26 +00:00
chuck
90ddaed9b5
MNN is no longer optional, remove dead code
1999-01-16 20:43:21 +00:00
pk
c884428427
Add `be' + MII devices.
...
Add PCMCIA devices that are known to compile at the moment.
1999-01-16 13:43:50 +00:00
bouyer
dc306354b0
Move the bswap functions from libutil to libc (this bups the
...
minor of libc and the major of libutil). For little-endian architectures
merge the bnswap() assembly versions with nto* and hton* using symbols
aliasing. Use symbol renaming for the bswap function in this case to avoid
namespace pollution.
Declare bswap* in machine/bswap.h, not machine/endian.h. For little-endian
machines, common code for inline macros go in machine/byte_swap.h
Sync libkern with libc.
Adjust #include in kernel sources for machine/bswap.h.
1999-01-15 13:31:15 +00:00
mrg
bb4584ec40
look for /^Version:/ to find the boot block version, rather than using
...
the "version" file's RCS id (which is useless for branches).
1999-01-15 00:48:03 +00:00
pk
6a8119ff1d
Sanity check from Matthias Drochner.
1999-01-15 00:26:24 +00:00
pk
0372e36e3f
device_register: recognize `lebuffer' and `isp' as controllers.
1999-01-14 13:08:24 +00:00
pk
de7b3f5492
Add `bus_space_subregion()' which was curiously missing.
1999-01-13 20:48:40 +00:00
pk
53c6ccd94d
Add `eccmemctl' entry.
1999-01-13 20:35:30 +00:00
abs
4b0a936711
fix void arithmetic
1999-01-13 04:19:08 +00:00
thorpej
8406f65cbf
Use a pool for pmap structures.
1999-01-11 20:58:46 +00:00
mrg
d1f3239be8
bump size of miniroot
1999-01-10 13:40:30 +00:00
thorpej
e598335d1c
Garbage-collect `mbutl'.
1999-01-09 22:10:12 +00:00
augustss
fc5f9ee81d
Add -Wpointer-arith warning since `void *' arithmetic is not ANSI C.
1999-01-08 19:26:12 +00:00
pk
9d4c26b2c1
* hypersparc support:
...
get cache size from PROM info like the others
reset the cache type bits before setting our desired values
* smp cache flushing:
protect the cpu message bits with splhigh().
1999-01-08 10:15:10 +00:00
mrg
12d0e6e8f7
move sparc{,64} installboot.8 back to src/share, to avoid splitting sources for users who dont get everything.
1998-12-22 02:34:09 +00:00
pk
fc6df8006b
Make sure we don't spuriously detect more than one boot device (as the
...
previous patch but extended to all devices).
1998-12-21 11:25:39 +00:00
drochner
52c16cf83a
get "opt_compat_svr4.h" out of <sys/conf.h>
1998-12-18 16:55:39 +00:00
kleink
fec2cc52f3
T_SVR4_GETHRESTIME returns a nanosecond quantity in %o1.
1998-12-17 22:26:02 +00:00
christos
9a2a015957
1000000000 nsec != 2^31 nsec (from kleink)
1998-12-15 16:06:15 +00:00
kleink
342b5e5134
Also need to initialize the queue length of a newly allocated fpstate.
1998-12-14 16:18:46 +00:00
mrg
f3e2980d41
note thta installboot.8 is built in share/man. move installboot.8 back to the same place the sources are, just build it in an MI location.
1998-12-11 12:18:46 +00:00
mjacob
c2e84d0cde
What was missing here is the mapping between our booting SCSI bus number
...
and the parent (hba) path from which we booted from. As a temp fix,
we'll only go with the first match to set altbootdev- not additional matches.
The problem was further exacerbated by the fact that cnpoll doesn't seem
to work on serial consoles.
1998-12-05 21:05:44 +00:00
pk
5d9f86821c
Add a device_register() function to determine the boot device.
...
Use it in addition to the old method for a while, so we can take note
of any glitches easilier.
1998-12-03 23:49:58 +00:00
thorpej
da572a137f
Argh, fix the ANSI CPP version of the a.out WARN_REFERENCES().
1998-12-02 21:16:46 +00:00
thorpej
a6f7e0c05a
Implement WARN_REFERENCES().
1998-12-02 00:58:42 +00:00
mycroft
34a1fe3ee3
Fix bogus asm statements; tmp1 and tmp2 need to be outputs rather than inputs.
1998-11-29 10:37:08 +00:00
pk
2e89e9144b
Turn a bunch of bus_space_*() macros into in-line functions mostly to avoid
...
variable aliasing.
1998-11-26 23:50:52 +00:00
pk
c918193752
Add splserial().
1998-11-26 22:53:13 +00:00
mycroft
8df55592be
Minor changes; indentation for delay slots and NOTREACHED comments.
1998-11-26 22:36:43 +00:00
mycroft
90a44dd270
Clean up kcopy() some more:
...
* Return EFAULT, not -1.
* Rearrange some instructions for better parallelism.
1998-11-26 22:30:31 +00:00
pk
79bf04ce4f
kcopy() must restore pcb_onfault handler. Pointed out by Charles Hannum.
1998-11-26 22:17:33 +00:00
hwr
59acb69be1
Add (commented out) 'gre' pseudo device line. Feedback is welcome.
...
Inspired by Klaus Klein.
1998-11-25 20:30:44 +00:00
pk
b34cd5fdf0
Add IPL_SERIAL
1998-11-25 19:33:02 +00:00
pk
701d8366f0
Define `interrupt priority levels'.
...
XXX - for now, these arbitrary identifiers; NO INTERPRETATION IS DEFINED YET
1998-11-22 23:53:24 +00:00
pk
cecf78e09d
Connect the PCMCIA bus.
1998-11-22 23:36:42 +00:00
pk
e40c5c3c20
Add busses: PCMCIA, MII, ATA
1998-11-22 23:22:26 +00:00
pk
bc98f448b8
Turn the passed tag into "used" arguments.
1998-11-22 21:52:24 +00:00
thorpej
5f0577babc
Adapt to the new scsipi_adapter interface.
1998-11-19 21:43:00 +00:00
mrg
db3051d720
fix problems in many d_mmap routines:
...
- returned EOPNOTSUPP rather than -1.
- no check for negative offset.
many of these fix potential security problems in these drivers.
XXX XXX XXX
the d_mmap cdev routine should be changed to have a prototype like:
paddr_t (*d_mmap) __P((dev_t, off_t, int));
by someone!
1998-11-19 15:38:20 +00:00
pk
dee948f2d9
Increase the delay after touching the IOMMU control register by another
...
three no-ops (empirically verified by Robert Elz).
1998-11-18 12:07:47 +00:00
oster
cf5710c839
Added a (commented out) configuration line for the RAIDframe device driver.
1998-11-16 16:44:55 +00:00
oster
c74d32c5fc
Updating of bdev's and cdev's to support RAIDframe.
1998-11-13 04:47:03 +00:00
ws
99d394c267
Typo
1998-11-12 14:00:06 +00:00
thorpej
cabecee13c
Changes to support fork_kthread():
...
- cpu_set_kpc() now takes void *arg third argument, passed to the
entry point.
- cpu_fork() allows parent to be non-curproc iff parent is proc0.
When forking non-curproc, assume its state has already been saved.
- Adjust various pieces of machine-dependent code to account of all of this.
1998-11-11 06:43:49 +00:00
chs
61458d7dfa
LOCKDEBUG enhancements for non-MP:
...
keep a list of locked locks.
use this to print where the lock was locked
when we either go to sleep with a lock held
or try to free a locked lock.
1998-11-04 06:19:55 +00:00
pk
9eb94a0c03
Must protect user-land from cpuvar.h; noticed by Juergen Hannken-Illjes.
1998-10-26 08:16:08 +00:00
pk
f3c1682c65
No need for `#ifdef SUN4M' protection.
1998-10-26 08:12:15 +00:00
pk
de51cf3531
Define and use CPU pause/resume IPI messages (until such times that I know
...
what the prom supplied versions actually do).
1998-10-24 08:12:55 +00:00
pk
c85c920d03
Duh.. condition codes are not preserved when writing directly into %psr.
...
Also, we need to deal with bus latency when turning off bits in the
interrupt status register.
1998-10-24 08:04:07 +00:00
pk
890e54bee0
Pull in cpuvar.h to get definition of `curproc'.
1998-10-21 07:11:47 +00:00
tron
b296275bb4
Defopt SYSVMSG, SYSVSEM and SYSVSHM.
1998-10-19 22:09:13 +00:00
pk
f0529fccf5
Maintain a current process (`curproc') a per CPU.
1998-10-19 11:56:43 +00:00
christos
09285b1171
PR/6311: By me... There was a bug unloading the dmamap:
...
addr = map->dm_segs[0].ds_addr & ~PGOFSET;
len = map->dm_segs[0].ds_len;
len = ((addr & PGOFSET) + len + PGOFSET) & ~PGOFSET;
addr &= ~PGOFSET;
Notice that the & ~PGOFSET in the first line should be gone. This fixes
the newfs large disk panic.
1998-10-18 16:02:34 +00:00
pk
0bf09a4ae7
Drop cpuinfo's `L1_ptps'; instead keep a per CPU segment (level 2) page
...
table descriptor that is used to patch up a region (level 1) page table
associated with a user pmap at context switch time.
1998-10-16 22:39:17 +00:00
drochner
2468738337
change handling of libkern:
...
-sys/lib/libkern builds as library per default (as it was documented all
the time)
-ports able to LKM set "KERN_AS=obj" explicitely in their Makefiles
(for now; should depend on actual "option LKM" or -better- functions
included for LKM use should be pulled in by a stub)
-always link libcompat before libkern - libkern stuff can be referred to
by libcompat, but not the other way
1998-10-15 18:37:13 +00:00
pk
fd966585a1
Turn on the counter at each CPU (we fear nothing..)
1998-10-14 14:53:36 +00:00
pk
afcfa7d7fa
Let all CPUs spin at spl0.
1998-10-14 14:47:20 +00:00
pk
631a48776f
Don't allocate two stacks per CPU.
...
Minor attach-time message change.
1998-10-14 14:22:18 +00:00
pk
e6c0a03f90
`ncpu != 0' doesn't make much sense when deciding what CP info to print.
1998-10-13 21:08:48 +00:00
pk
bf7ace9074
CLKF_INTR() needs to have a MULTIPROCESSOR version.
1998-10-13 20:53:02 +00:00
pk
802248ee1c
We use MULTIPROCESSOR explicitly here, so pull in "opt_multiprocessor.h".
1998-10-13 13:37:14 +00:00
pk
14a3acbd47
srmmu_cache_flush(): handle small (< NBPG) ranges more efficiently.
1998-10-13 13:34:06 +00:00
pk
1e0064d5d6
EINTSTACK => EINTSTACKP
1998-10-13 12:05:44 +00:00
pk
d5e94d4fb2
Add missing `return'.
1998-10-13 11:33:36 +00:00
pk
8511a94f26
Oops, USPACE does not in 13 bits.. repair and save one instruction
...
in a non-SMP kernel.
1998-10-12 22:05:17 +00:00
pk
c27a8760b7
In switchexit(), switch to the current CPU's idle u.area.
1998-10-12 21:51:54 +00:00
pk
dff4866141
Add offset of `cpuinfo.idle_u'.
1998-10-12 21:50:22 +00:00
pk
5d124ce774
Move around a few PTE-manipulating macros.
1998-10-12 21:17:28 +00:00
pk
83b671e23d
Make `cpcb' (current u.area) a per-CPU variable.
...
Brace some MP-only code with `#ifdef MULTIPROCESSOR'.
1998-10-12 20:56:48 +00:00
pk
6791d7f713
Make `_cpcb' (pointer to current user area) a per-CPU variable.
...
This cpuinfo field is initialized here in locore before calling bootstrap(),
since it must be valid before entering the window overflow/underflow handlers.
Fix miscalculation in the MULTIPROCESSOR version of INTR_SETUP().
1998-10-12 14:39:10 +00:00
pk
523892012a
`cpcb' (pointer to current u.area) is now a per-CPU variable.
1998-10-12 14:32:14 +00:00
pk
fbbc2eeedd
`cpuinfo' is now cleared in locore.
1998-10-12 14:15:13 +00:00
pk
6fc7a5b45a
Define `sizeof(struct cpu_info)'.
1998-10-12 14:03:22 +00:00
pk
1fb4827a72
Take care of a MID not present when matching timer register sets.
1998-10-12 12:28:26 +00:00
chuck
8bef431273
remove unused share map code from UVM:
...
- update calls to uvm_unmap_remove/uvm_unmap (mainonly boolean arg
has been removed)
1998-10-11 23:20:59 +00:00
pk
b9d844a520
Allocate a private PCB, kernel stack and interrupt stack for each processor.
...
As a result, the stack setup code in locore.s changes slightly in
the MULTIPROCESSOR case. Also, make the stack redzone barrier (for
debugging only) a per-CPU entity.
1998-10-11 14:46:45 +00:00
thorpej
908cdfe4e3
Add scsibus entry points to the cdevsw[].
1998-10-10 02:00:49 +00:00
thorpej
29d472f53d
Garbage-collect the open_target_lu and close_target_lu entry points from
...
struct scsipi_adapter; they were not used.
Add a scsipi_ioctl entry point to struct scsipi_adapter. This will be
used to issue ioctl commands to the host adapters.
Inspired by PR #6090 , from Matt Jacob.
1998-10-10 00:28:28 +00:00
pk
5422d07da0
Construct a `flush_cache_all()' for Cypress CPUs.
1998-10-09 10:48:14 +00:00
pk
024e5f4c9a
More `#if defined(MULTIPROCESSOR)'s.
1998-10-09 10:08:52 +00:00
pk
57a688f81e
Init a variable.
1998-10-09 08:01:33 +00:00
pk
312385da0a
Define SMP versions of some cache flush methods.
1998-10-08 22:27:32 +00:00
pk
41d031837e
Define a message structure of inter-processor communication.
1998-10-08 22:25:42 +00:00
pk
f3c4a67a7f
Adapt to changes to the cpus[] array.
1998-10-08 22:23:44 +00:00
pk
34ad8e5fb7
Find out about the number of CPUs in the system before starting device
...
configuration, so we can build a cpus[] array without "holes".
1998-10-08 22:14:44 +00:00
pk
a61ee50b27
Move [gs]etcontext and [gs]etpte() to pte.h
1998-10-08 21:49:12 +00:00
pk
e6bbfcc58a
Move [gs]etcontext() and [gs]etpte() to pte.h
1998-10-08 21:47:34 +00:00
thorpej
d681cf055a
configure() prototype is in <sys/device.h>
1998-10-06 20:50:15 +00:00
pk
2727683a09
more DIAGNOSTIC sanity checks
1998-10-06 19:24:03 +00:00
thorpej
0729240c88
Move the "XXX re-zero proc0 user area" to the end of configure(), before
...
interrupts are enabled.
1998-10-06 18:58:09 +00:00
thorpej
5006dbf868
cpu_set_kpc() prototype is already in <sys/systm.h>.
1998-10-05 22:11:15 +00:00
pk
40beab6ad6
If a lock is held do not spin in a read/write loop but just read the lock
...
until it is released. This is easier on the bus cache coherency logic.
1998-10-05 19:58:19 +00:00
christos
550ee6b308
rename getprop routine to avoid conflict with the one in bsd_openprom.h
1998-10-05 07:13:07 +00:00
christos
0bf5ff6ade
make this compile with DIAGNOSTIC again.
1998-10-01 21:26:55 +00:00
thorpej
c5b8d42e66
Need 14 longs for jmp_buf now (sigcontext has 128-bit signal mask at the
...
end).
1998-10-01 03:28:11 +00:00
pk
f382e91b5e
Add a field to identify the processor that has a process' FPU context.
1998-09-30 18:40:58 +00:00
pk
4826aac9cf
Make the current FPU owner (`fpproc') a per-CPU entity. Unresolved issue
...
as yet: lazy FPU context switching may require co-operation from other
CPUs.
1998-09-30 18:38:57 +00:00
pk
8c29324cc7
Kernel configuration with multi-processor support.
1998-09-27 15:10:25 +00:00
pk
0a090af2c7
Add `ldstub()'.
1998-09-27 14:32:14 +00:00
pk
e6ce8bcfc7
sparc spin lock functions.
1998-09-27 14:31:18 +00:00
pk
0a1a6fb7e0
This file is no longer used
1998-09-26 20:51:45 +00:00
pk
166c2a5fa5
fix typo
1998-09-26 20:15:59 +00:00
pk
9f352b7e15
Stop all other CPUs upon entering a debugger.
1998-09-26 20:14:48 +00:00
pk
01e64c640c
Implement mp_pause_cpus() and mp_resume_cpus(): pause and resume all
...
CPUs except the one running this code.
1998-09-26 20:13:56 +00:00
pk
6ad3a051e8
mp_{pause,resume,halt}_cpu() prototypes.
1998-09-26 20:12:06 +00:00
pk
8ddcd514a6
Use CPU start function in obp.c
1998-09-26 19:09:56 +00:00
pk
fe1cf94b9f
Add wrappers for PROM's CPU start/stop functions.
1998-09-26 19:08:09 +00:00
pk
a89a10c394
Add file obp.c
1998-09-26 19:06:47 +00:00
pk
43c1cb852c
Move PROM interface prototypes into openprom.h
...
Use the `openprom_addr' structure for passing around physical addresses.
1998-09-26 18:20:19 +00:00
pk
09a4cf6caa
Move PROM interface routines into their own file.
1998-09-26 18:15:34 +00:00
pk
eb8de83739
`eccmemctl' inadvertently got into the `mandatory' list.
1998-09-25 11:40:16 +00:00
pk
27569e4050
Initialize pointer to the boot CPU's interrupt register.
1998-09-24 20:38:43 +00:00
pk
831354d6de
Add `intreg' cpuinfo offset.
1998-09-24 20:37:17 +00:00
pk
58ab38cb69
Use per-CPU interrupt status register.
1998-09-23 11:07:28 +00:00
pk
9eca565a37
Make cgsix_sbus & cgsix_obio dependent on their respective attribute.s
1998-09-23 08:49:46 +00:00
pk
d6746389a4
The nmi_* routines are sun4m-only.
1998-09-23 08:44:51 +00:00
pk
aa1cf01930
Express per-processor interrupt registers in a C structure as well.
1998-09-22 13:42:26 +00:00
pk
bd37118769
Dup header.
1998-09-22 13:41:03 +00:00
pk
eca50c1c33
Flush cache after diddling with trap vectors.
1998-09-22 13:40:08 +00:00
pk
1186ba5102
Introduce a `flush entire cache' method.
1998-09-22 13:39:19 +00:00
pk
5afb0e8bcb
Keep the per-processor interrupt status in the cpuinfo structure.
...
For now, map them to the fixed virtual addresses set up early in autoconf.c
1998-09-22 13:08:44 +00:00
chs
c945760779
sign-extend some operand types which need it.
1998-09-22 05:40:14 +00:00
pk
709360e3ce
Fill the `bpp' slot.
1998-09-21 21:13:51 +00:00
pk
20f2898a0c
Merge sun4 and sun4c version of memerr() again.
1998-09-21 10:32:00 +00:00
pk
af19654e85
We no longer need to access memerr() through a function pointer.
...
GC `cpumod' and `mmumod'.
1998-09-21 10:30:41 +00:00
pk
c3b26811ac
We no longer need to access memerr() through a function pointer.
1998-09-21 10:29:20 +00:00
pk
ec34e18063
Don't map sbus `registers' on sun4c (i.e. sbus @ mainbus); it's almost
...
certainly not the control space we want..
1998-09-20 20:08:52 +00:00
pk
7a147080b8
Async arguments are no longer passed to the memory fault handler.
1998-09-20 20:01:15 +00:00
pk
4bf750b7df
Add sun4m NMI handlers.
1998-09-20 20:00:09 +00:00
pk
d0d9bb7669
Dedicate a pair of entry points to handling sun4m level 15 (NMI) interrupts.
...
Hardware NMIs are generated on various fault conditions that take place
asynchronously to the instruction stream. Software NMIs are going to be used
for inter-processor communications.
Get synchronous fault information separately from asynchronous fault
information. Do the former right after taking a memory fault trap and
store the values in temporary locations within the cpuinfo structure (XXX),
so we can unconditionally clear the sync fault status register after
MMU probe operations. This all is to work around a Hypersparc feature
which could lead to loss of fault information because of the fault
status register getting locked.
1998-09-20 19:54:48 +00:00
pk
cd8dfa6798
Account for changes in struct cpuinfo & locore
1998-09-20 19:39:18 +00:00
pk
4128057c52
Split memory fault status function into `synchronous' and `asynchronous'
...
versions.
1998-09-20 19:37:50 +00:00
pk
2734182a74
Re-arrange the sun4m cases a bit.
...
Entry points no longer have async arguments.
1998-09-20 19:34:16 +00:00
pk
c3e742adfb
Format string for SI register.
1998-09-20 19:31:37 +00:00
pk
b6da06d637
Name fault registers more like they're referred to in various docs.
1998-09-20 19:29:10 +00:00
pk
a1a94bc5fc
Use the expected name for the config attach structure.
1998-09-19 16:50:31 +00:00
pk
0a6347a24d
Provide an error entry point like sbus and memory.
1998-09-19 16:45:43 +00:00
pk
812eb8c1da
Add %b format strings.
1998-09-19 16:44:59 +00:00
pk
25d48215a2
Map Sbus control registers.
1998-09-19 15:49:50 +00:00
pk
8381b55bd7
Add a bunch of SBus control register definitions.
1998-09-19 15:48:55 +00:00
pk
1bcd9d3bbb
Pass the children register space in the attach arguments.
1998-09-19 15:47:18 +00:00
pk
ced4225429
Add `eccmemctl' device.
1998-09-18 20:19:12 +00:00
pk
b3c7ebb7cd
Handle ECC memory control found on a number of machines.
...
Also defines an entry point for memory errors reported by module interrupts.
1998-09-18 20:18:10 +00:00
pk
81d435b491
sigh.. put back non-garbage collectible `que' functions.
1998-09-18 08:07:08 +00:00
thorpej
dcb541531a
Minor cosmetic change.
1998-09-17 02:33:06 +00:00
thorpej
c006c7c0da
Sync w/ sendsig().
1998-09-17 02:30:02 +00:00
thorpej
e5ea525b9f
Slight brain'o in last.
1998-09-17 02:26:26 +00:00
thorpej
5bc9dafaee
Minor cosmetic change to sendsig().
1998-09-17 02:24:56 +00:00
pk
59e5588098
Map the per-CPU counter registers into each cpu info area.
1998-09-16 13:39:48 +00:00
pk
49b5114713
Make all cpu info structures accessible through an array `cpus[_MAXNCPUS]'.
1998-09-16 13:36:23 +00:00
pk
543070847c
Can't afford a 1K buffer in the data segment.
1998-09-15 20:03:50 +00:00
pk
0ad1257add
sub-arch protection.
1998-09-15 13:12:25 +00:00
pk
fb38024157
Use `swap' to install page-table entries which is recommended practice
...
for MP configurarions.
1998-09-14 22:45:36 +00:00