Commit Graph

3893 Commits

Author SHA1 Message Date
christos
30fc143afa Add COMPAT_BSDPTY to the rest of the config files. 2004-11-10 17:54:02 +00:00
yamt
18f717bb90 constify audio_hw_if, midi_hw_if, and radio_hw_if. 2004-10-29 12:57:15 +00:00
yamt
05f25dcc2a move buffer queue related stuffs from buf.h to their own header, bufq.h. 2004-10-28 07:07:35 +00:00
thorpej
dc2f2fbe74 Centralize the declaration of booted_device and booted_partition. 2004-10-23 17:07:37 +00:00
yamt
d2fe4b34bb move some per-cpu data definitions to MI place so that they can be modified
without touching all ports.  discussed on tech-kern@.
2004-09-22 11:32:02 +00:00
he
cf6b002f48 Fix build problem -- track the change to <sys/buf.h>. 2004-09-19 19:09:24 +00:00
skrll
f7155e40f6 There's no need to pass a proc value when using UIO_SYSSPACE with
vn_rdwr(9) and uiomove(9).

OK'd by Jason Thorpe
2004-09-17 14:11:20 +00:00
jdolecek
3ea04717bf do not include "compat/aout/files.aout", COMPAT_AOUT is soon to be removed 2004-09-14 16:51:57 +00:00
drochner
11ff62378b add "joy" 2004-09-13 17:26:28 +00:00
manu
6e3c639957 IPv4 PIM support, based on a submission from Pavlin Radoslavov posted on
tech-net@
2004-09-04 23:29:44 +00:00
drochner
46289e1fef Phase out the use of a string as first "attach args" member to control
which bustype should be attached with a specific call to config_found()
(from a "mainbus" or a bus bridge).
Do it for isa/eisa/mca and pci/agp for now. These buses all attach to
an mi interface attribute "isabus", "eisabus" etc., and the autoconf
framework now allows to specify an interface attribute on config_found()
and config_search(), which limits the search of matching config data
to these which attach to that specific attribute.
So we basically have to call config_found_ia(..., "foobus", ...) where
such a bus is attached.
As a consequence, where a "mainbus" or alike also attaches other
devices (eg CPUs) which do not attach to a specific attribute yet,
we need at least pass an attribute name (different from "foobus") so
that the foo bus is not found at these places. This made some minor
changes necessary which are not obviously related to the mentioned buses.
2004-08-30 15:05:15 +00:00
thorpej
6c08646cb8 Garbage-collect pagemove(); nothing use it anymore (YAY!!!) 2004-08-28 22:12:40 +00:00
jdolecek
64969161df use uvm_grow() to update stack segment size on stack page fault instead
of MD code
2004-08-28 17:53:00 +00:00
mrg
c108d448ff add entries for spif/stty/sbpp. final part of PR#26061. 2004-08-01 10:45:23 +00:00
drochner
a5a5473c25 remove now unnecessary "pci_enumerate_bus" definitions 2004-07-29 16:55:25 +00:00
simonb
e25bd305b6 Define LIB{CRT0,C,CRTBEGIN,CRTEND} as nothing, we don't need to link
against them.
2004-07-28 01:05:35 +00:00
mrg
5df9a04912 Hauke Fath's port of the openbsd SUNW,spif driver from PR#26061.
the driver was originally written by Jason L. Wright.

XXX: i haven't tested this on sparc64 at all...
2004-07-24 12:37:20 +00:00
atatat
f68a9f1ff2 Add "options SYSCTL_INCLUDE_DESCR" to a lot of configs, but commented
out in most of them.
2004-07-15 03:53:44 +00:00
mycroft
09e877af0b Make this build again. 2004-07-11 20:01:04 +00:00
martin
9d71aa9ed6 Adapt to new sparc bus_space_tag_t world order. 2004-07-10 22:30:29 +00:00
pk
ea3030771a Use bus_space_tag_alloc(). 2004-07-10 20:37:07 +00:00
uwe
b65388fd20 Sync with relevant portions of GENERIC 1.160.
Uncomment FFS, as MFS needs it.
2004-07-10 12:17:09 +00:00
uwe
afd4d28baa Sync with relevant portions of GENERIC 1.160.
options<space> police.
Uncomment FFS, as MFS needs it.
2004-07-10 12:12:55 +00:00
uwe
2ab14a9acf options<space> police. 2004-07-10 12:05:35 +00:00
pk
aaf3dc5c61 Enable the `nell' pcmcia bridge. 2004-07-05 10:50:35 +00:00
pk
134c600216 Use bus_space_tag_alloc(). 2004-07-05 08:51:19 +00:00
martin
41de8a7a66 Options FULL_SPARC_BUS_SPACE is gone. 2004-07-05 06:31:36 +00:00
pk
ce03cf29a9 cpu_simple_lock: on spin out, check whether we've already panicked. If so,
just take the lock on the assumption that in panic mode, we run on a single
CPU anyway.
2004-07-04 09:54:20 +00:00
pk
edd81fa220 Fix typo in CHECK_SP_REDZONE() which has been there since the beginning of time. 2004-07-04 09:11:33 +00:00
pk
7f51f38abc Avoid unnecessary stores of discarded values. 2004-07-01 10:23:41 +00:00
pk
a61069b899 Revision 1.27 of clock.c applies to the Intersil interrupt, not sun4m timers. 2004-07-01 09:59:00 +00:00
pk
889aa9f444 Introduce bus_space_tag_alloc() for the common parts of bus tag allocation. 2004-06-30 21:16:38 +00:00
bouyer
21e9a36edc Add options P1003_1B_SEMAPHORE
to all GENERIC-like kernel config files where SYSV* options were already
present (commented out if the SYSV* options are commented out).
Fix lib/25897 and lib/25898.
2004-06-28 21:07:47 +00:00
pk
a24d586ab2 Rename bus_translate_address_generic => bus_space_translate_address_generic()
and move prototype to <machine/bus.h>.
2004-06-28 10:14:13 +00:00
pk
66a4653f8a Always use `full bus space'. In order to implement this more efficiently,
require that all bus tags have pointers to bus_space_read/write functions,
i.e. no run-time hunting for the first "upstream" implementation.
Since this changes the way bus tags should be constructed it makes sense
to do the same thing for the rest of the bus space methods.
So, now bus space tags are generally constructed by copying the parent's bus
tag and then overriding the methods that the bus driver needs to handle,
instead of starting with an empty bus tag and fiiling in only the fields needed.
2004-06-27 18:24:46 +00:00
pk
fc7183f440 GC unsed sparc_vme_bus_tag. 2004-06-27 16:08:42 +00:00
abs
bd8eb3b5ed Add (commented out) ALTQ options to all GENERIC-like files 2004-06-26 07:32:05 +00:00
itojun
596aec9a47 have pf and pflog pseudo-device (commented out).
reviewed by matt, perry, christos
2004-06-22 14:09:49 +00:00
jmc
84fafa3db5 Ignore errors on some rm -rf's for platforms that aren't quite
POSIX compliant
and return errors on r/o source (FreeBSD) for -rf. Fixes PR#25022
2004-06-21 18:20:08 +00:00
martin
4c2f43b8cf Better support for booting from partitions != a or at the start of the
disk, allow commands like "boot disk:d disk:d/netbsd" to work.
Use the real RF_PROTECTED_SECTORS define instead of a local magic number.
While there, minor cosmetics in diagnostics/output format.
2004-06-18 21:04:39 +00:00
martin
31895478bc Use RF_PROTECTED_SECTORS instead of a (wrong) magic value.
The bootblock now is able to load ofwboot from a raid1 root.
2004-06-18 18:42:15 +00:00
christos
c22e4ed8cd ptm is now mandatory, depends on pty, and can be disabled with -DNO_DEV_PTM 2004-06-18 15:02:29 +00:00
christos
0399e839cf Add pseudo-device ptm on all the generic flavored kernels. 2004-06-16 15:07:39 +00:00
thorpej
e33c2bb5d5 Add the %MAKEOPTIONSAPPEND token at the end of the file, after the
common Makefile.kern.inc has been included.
2004-06-04 04:45:49 +00:00
martin
b1998403bc Back to SIZEOF_HEADERS. 2004-05-24 07:20:26 +00:00
martin
ebfe3ad1ce Instead of SIZEOF_HEADERS (which ld gets wrong) use 1024 for now. 2004-05-23 16:10:25 +00:00
pooka
40559f7fcc 10+ entries in the kernel sources can't be wrong ... no, wait, they can:
it really is "panicking" instead of "panicing", so revert rev 1.211

thanks to Klaus for holding the spelling bee
2004-05-13 16:34:22 +00:00
pooka
e2323790a2 typo in comment: panicking -> panicing 2004-05-13 15:20:18 +00:00
pk
cf098aff50 No need to pull in <bsd_openprom.h> explicitly. 2004-05-13 09:36:44 +00:00
pk
d5cc51b7d3 Remove obsolete `timerok' code, which dates back to when the timer/counter
interrupt handlers were pre-wired.
2004-05-12 15:44:28 +00:00
drochner
19f047f8d0 SIGTRAMP_VALID() should not pollute the user namespace 2004-05-10 21:51:49 +00:00
kleink
7b3b647647 Factor out W{CHAR,INT}_{MAX,MIN} into their own header file. 2004-05-08 21:51:47 +00:00
pk
a02ca1366c viking_module_error: check for unconfigured cpus. 2004-05-07 14:59:26 +00:00
pk
0ba9b6aa91 `uvmexp.swtch++' is already done in exit1(). 2004-05-04 15:48:45 +00:00
martin
9c57555f1b When calculating the allocated symbol table size, round up the section
sizes with ELF_ALIGN().
Fixes PR port-sparc64/25429.
2004-05-02 19:45:55 +00:00
pk
1af1129600 The cpu_exit() detour is no longer necessary. 2004-05-02 11:22:06 +00:00
christos
4ad27a5358 add COMPAT_20 2004-05-02 03:13:34 +00:00
pk
17e88886cc pmap_kremove4m,pmap_protect4m,pmap_extract4m: the `demap' lock needs interrupt
protection.
2004-05-01 08:20:11 +00:00
pk
84af51b7e0 Rename sc_hasiocache' => sc_cachecoherent'. Avoid the cache flush in
dma_load() if we have coherency.
2004-04-28 12:38:19 +00:00
pk
ff7821ed81 Fast trap handler for Illegal Instruction traps for (user space) FLUSH
instructions (these occur only on Cypress CPUs).
2004-04-28 12:36:48 +00:00
pk
fde3b5dfae Replace home-grown cachestats with event counters. 2004-04-27 16:37:43 +00:00
pk
cd955b850f Bits 0 (MMU Enable) and 1 (Fault inhibit) are common among the implementations
of the SRMMU control register. Reflect that fact in the definitions here.

Also add the swift `store allocate' bit.
2004-04-27 13:05:38 +00:00
pk
202c3ce64e Add instrumentation for `PMEG' management on sun4/4c. 2004-04-27 11:26:43 +00:00
pk
429ad918eb Limit buffer cache VM to prevent too many locked `PMEGs' on small sun4c
systems.
2004-04-27 11:25:24 +00:00
kleink
0e5d242328 Update for new pci_devinfo(9) signature. 2004-04-24 15:49:00 +00:00
tsutsui
77addc8b55 Increase buffer size for s[dt]-targets PROM property
otherwise some machines (including my SS1+) with old PROM fails to get it.
2004-04-23 13:04:59 +00:00
hannken
82161a9cbe Protect against multiple inclusion. 2004-04-23 09:20:20 +00:00
pk
a2ce1a6818 ctx_free: reset the context's page table pointers in each context table. 2004-04-22 11:57:33 +00:00
pk
c996a0d95b Fix logic botch in previous commit. 2004-04-22 11:45:48 +00:00
pk
4c005fd35b Mostly undo rev. 1.287: for modified pages a table walk must be forced on
the next write access to get the modified bit set in the PTE and that
won't happen if it hits the cache.
2004-04-22 10:14:58 +00:00
pk
a22adee52d Default to not inlining __cpu_simple_lock().
- the locore version attempts to detect stuck locks
 - not inlining saves about 60K on the kernel's text
2004-04-20 15:55:30 +00:00
pk
aa53aca844 Turn __CPU_SIMPLE_LOCK_INLINE into !__CPU_SIMPLE_LOCK_NOINLINE, so we don't
screw up user land.
2004-04-20 08:48:03 +00:00
pk
e2cab98f9e Always provide the __cpu_simple_lock() entry point (for LKMs). 2004-04-20 08:38:41 +00:00
pk
ce78973db2 Provide a fast trap path for AST IPIs. 2004-04-20 08:36:46 +00:00
pk
3097bbf440 pmap_extract4m: We can read a spurious invalid pte if the system is in
the middle of the PTE update protocol. So, if at first we get an invalid
PTE, retry with the demap lock held.
2004-04-19 15:20:42 +00:00
pk
2e643fb9ae __cpu_simple_lock() isn't a pure function. 2004-04-19 12:41:53 +00:00
pk
a484ad4f3f CMP_PTE_USER_READ4M: drop instruction that's effectively a no-op. 2004-04-19 10:01:41 +00:00
pk
fecb3b619b Drop spurious variable. 2004-04-19 08:50:21 +00:00
pk
03a07196d9 srmmu_vcache_flush_page/range: cover the case where we're called during
bootstrap before the cache parameters are setup.
2004-04-18 21:49:09 +00:00
pk
27f928584a Code srmmu_vcache_flush_range & srmmu_vcache_flush_page more efficiently. 2004-04-18 20:46:39 +00:00
pk
57bbd955d1 Various ft_srmmu_vcache_*() functions: use `branch on greater (unsigned)'
instead of `branch on positive'.
2004-04-18 20:44:39 +00:00
pk
68f30ee7af Make inlining __cpu_simple_lock() optional. Add a version with a built-in
spin out counter that panics with a diagnostic.
2004-04-18 19:20:09 +00:00
pk
38bdc6fab2 Remove the cache_flush() trampoline; it's no longer directly cross-called.
Instead, implement the MP parts in terms of cross-callable vcache_flush_range()
function.
2004-04-17 23:45:40 +00:00
pk
66a6704d83 Update fast xcall interrupt event counter.
ft_srmmu_vcache_flush_range: adjust length for address alignment
2004-04-17 23:28:44 +00:00
pk
e68993f7e4 Add EV_COUNT. 2004-04-17 22:36:54 +00:00
pk
3c3af40e65 Add xcall event counters. 2004-04-17 22:34:14 +00:00
pk
89f5c8768c When acknowledging a sun4m soft interrupt, read back the pending interrupts
hw register to make sure it gets through on Ross CPUs.
2004-04-17 11:55:06 +00:00
pk
1e5ff8a716 raise_ipi: don't bother fetching the cpu type from memory in order to
avoid one instruction.
2004-04-17 11:50:23 +00:00
pk
727a9ca138 The macro CMP_PTE_USER_READ4M now needs to consider more PTE access
rights combinations, since the access rights table in pmap has changed.
2004-04-17 11:26:36 +00:00
pk
66178209d2 Use fast cross calls for MP cache flush ops. 2004-04-17 10:13:13 +00:00
pk
f714ca590d Add CPUINFO_XMSG_* symbols for use in fast xcall handlers. 2004-04-17 10:07:58 +00:00
pk
ebfb6e3b0a Implement fast trap handlers for TLB and cache flushes. 2004-04-17 10:06:29 +00:00
pk
901271fbc8 Use a fast cross call for TLB flushes. 2004-04-17 10:04:20 +00:00
pk
4eac0385f6 xcallintr: arg3 is gone. 2004-04-17 10:01:55 +00:00
pk
8bc2760490 Add support for fast cross call handlers that execute in the trap window
on the destination CPU. The `fast handler' address takes the place of the
unused fourth argument to xcall().
2004-04-17 10:01:11 +00:00
pk
299dfa38bf De-__P(). 2004-04-15 10:07:32 +00:00
pk
dab35b2e8d xcall: increase spin-out; fix diag output. 2004-04-15 08:11:20 +00:00
pk
cd891bd771 Re-enable the HyperSPARC on-board instruction cache on multi-processor machines. 2004-04-13 14:55:48 +00:00
pk
86fce030ee Handle `unimplemented flush' traps by flushing the entire I-cache (if
there is one).
2004-04-13 14:04:29 +00:00
pk
e76253f84e Turn FLUSH instructions that wind up here into no-ops. 2004-04-13 14:00:24 +00:00
pk
ebfcdb612b Drop the special sun4d `tlb flush' lock. The pte update function already
serialises access to the PTEs to reliably get ref/mod bits.

Rename pte4m_lock => demap_lock.
2004-04-12 14:26:01 +00:00
pk
4f969ab39c pv_syncflags4m: no need to flush the cache. If the page is still mapped,
its ref/mod status may change at any moment anyway. If a definitive status
is required the UVM code will unmap the page first.
2004-04-12 12:52:42 +00:00
pk
fd1ba25dd1 Drop sparc_protection_init4m() in favour of a (ro) data initialiser. 2004-04-12 10:00:28 +00:00
pk
9450998e71 pmap_copy_page4m(): we only need to flush the local cache since we use
private virtual addresses.
2004-04-10 20:51:24 +00:00
pk
9d95da7f96 Remove a number of redundant TLB page flushed, which are now done in
setpgt4m_va() and updatepte4m() as necessary.
2004-04-10 20:43:02 +00:00
pk
6452e19758 De-__P(). 2004-04-10 20:00:29 +00:00
pk
217297d742 Remove a remnant instance of __P(). 2004-04-10 19:58:45 +00:00
pk
6d82d89741 Expose CPUSET_ALL to non-MULTIPROCESSOR source. 2004-04-10 19:55:57 +00:00
pk
667d14673b Group updatepte4m() and the MP & SP versions of setpgt4m_va() together,
which is just a bit more pleasing to the eyes.
2004-04-10 19:40:19 +00:00
pk
83037215bf Do not maintain the number of valid pages per segment (`sg_npte') anymore
for the kernel map on SRMMU machines. This allows pmap_kenter() and
pmap_kremove() to update mappings without needing to lock the pmap
or raising the interrupt level.
2004-04-10 19:22:59 +00:00
pk
2648b0d48c pmap_protect4m: skip PTE update for invalid pages in the specified range. 2004-04-10 18:48:35 +00:00
pk
f852e1c1e4 setpte4m: remove ineffective debug assertions. 2004-04-10 18:40:04 +00:00
fair
e2b036a2e4 Add comment to indicate that the SunSwift Sbus HME/FAS366 SCSI
combination board attaches esp* at sbus*; it's not just "older proms"
2004-04-10 04:02:29 +00:00
pk
f95fd4f56f compat mode: skip double map at VA 0 if the physical load address is 0.
This allows a much wider range of historic kernels to be booted (w/ `-C').
2004-04-08 07:35:34 +00:00
pk
12d5178857 For now, disable Hypersparc instruction cache on MP machines. 2004-04-04 18:54:01 +00:00
pk
8066aa3aa5 * Allow pv_link4_4c() to fail with ENOMEM on pool allocation failures
(catching up with pv_link4m()).
* Fix return code checking for pv_link4m() calls.
* Add low water setting to pv pool.
2004-04-04 18:34:35 +00:00
pk
486f4170eb Remove private declarations of maxdmap and maxsmap. 2004-04-04 18:24:22 +00:00
mrg
32a2d102bd redo previous slightly; move the "int unode;" decl inside the
if (CPU_ISSUN4D) code block, reducing #ifdef/#endif count by one.
2004-04-04 10:09:41 +00:00
gson
f92c1b091a Unused variable "unode" caused compiler warning when !defined(SUN4D). 2004-04-04 08:54:29 +00:00
pk
af0db768b1 Maintain pmap resident count as pages are mapped and unmapped instead
of traversing the page tables each time it's needed.
2004-04-03 23:11:14 +00:00
chs
ec48121fb7 add some SUN4D stuff.
zs and zstty no longer need "needs-count" or "needs-flag",
so get rid of those and wild-card the extra zs devices on SUN4D.
2004-04-03 17:43:50 +00:00
chs
89e7b5360f don't complain about mid == 0 on SUN4D, it's normal there. 2004-04-03 17:42:27 +00:00
chs
8e5882e190 add a bootbus (SUN4D) attachment. from Stephen Sukovich in PR 24199. 2004-04-03 17:42:07 +00:00
chs
81f3e5aec7 fix find_cpus() for SUN4D. from Stephen Sukovich in PR 24198. 2004-04-03 17:41:54 +00:00
pk
70e1de69c4 Max data size -> 512MB; default stack size -> 8MB. 2004-04-03 12:39:51 +00:00
pk
5957cb9b16 On sun4c, clip max data & stack size to avoid the MMU hole. 2004-04-03 12:38:14 +00:00
pk
7bbe926f59 iommu_dmamap_load: deal with pmap_extract() failing. 2004-03-28 19:35:13 +00:00
drochner
c83eb997b8 nothing cares about __HAVE_SIGINFO anymore, so nuke it 2004-03-26 21:39:57 +00:00
drochner
cf8b697c65 remove license clauses 3 and 4 from my cpoyright notices 2004-03-24 17:06:57 +00:00
pk
1fecae985a Remove my name from the old UCB copyright notice, thereby reducing its
reference count to 1.
2004-03-24 15:44:46 +00:00
atatat
19af35fd0d Tango on sysctl_createv() and flags. The flags have all been renamed,
and sysctl_createv() now uses more arguments.
2004-03-24 15:34:46 +00:00
pk
24bb95542f Add openfirmware() entry point. 2004-03-23 15:36:08 +00:00
pk
bfbcd7cff5 prom_pa_location: re-arrange code a bit; use u_long cast to make this compile on 64 bit systems; to do: openfirmware version of this. 2004-03-23 15:29:56 +00:00
martin
2a62a8f3dd The function prom_pa_location casts magic spells that probably won't
work on 64 bit kernels (and at least do not compile). Since this function
is not used there, #ifndef _LP64 it for now.
2004-03-23 11:40:29 +00:00
pk
b744961066 Leverage the PROM's ability to identify the on-board location of a
physical memory address.
2004-03-22 12:37:43 +00:00
nakayama
83f4b465c2 Truncate values to 32-bit, not 40-bit. 2004-03-22 12:28:02 +00:00
martin
fe91b9b277 Create a symlink for <sparc/...> include paths as well, the new openfirm.h
needs it.
2004-03-21 23:41:21 +00:00
pk
7446de9195 Add sparc64 cell_t definitions.
Change OF_interpret() prototype to the unabridged version.
2004-03-21 15:12:35 +00:00
pk
afe147460e Add openfirmware() entry point, since it's no longer defined as a macro
in openfirm.c.
2004-03-21 14:04:30 +00:00
pk
b5a947488b * Add OF_claim() for sparc64.
* Change OF_interpret() to the unabridged version.
* Sync OF_sym2val() and OF_val2sym() with the psarc64 versions.
2004-03-21 14:02:39 +00:00
pk
4b86fd8eed opf_getboot{path,file,args}: return static storage so these can be used
in the early boot phase.

Define prom_interpret() to be a simple form of the Openfirmware OF_interpret().

Re-arrange OLDMON code in prom_getidprom() to make it compile on sparc64.
2004-03-21 13:57:58 +00:00
pk
d7d8742ed3 Turn members of `struct memarr' into long ints, to help sparc64 integration. 2004-03-21 13:52:00 +00:00
pk
f72e36ac23 obp_v2_finddevice: bounds check on local char buffer.
prom_findnode: implement node name matching for device named containing
commas, cf. IEEE 1275, section 4.3.6.
2004-03-18 15:24:19 +00:00
pk
bb3bbfa647 Implement OPIOCFINDDEVICE. 2004-03-18 15:14:33 +00:00
pk
f52adf179f Remove unused `search_prom()' macro. 2004-03-18 15:13:59 +00:00
hannken
ac4d48d92e Rename PROM_getpropstring* => prom_getpropstring* 2004-03-18 12:26:51 +00:00
matt
f9730c006d Fix typo (pckbort -> pckbport) 2004-03-17 18:10:51 +00:00
pk
ea53363e84 Rename PROM_getprop*() => prom_getprop*(). 2004-03-17 17:04:58 +00:00
pk
da415e73f9 De-__P(); 2004-03-17 11:00:19 +00:00
pk
6446b225e5 prom_getprop(): Make the `element size' argument a size_t (like sparc64). 2004-03-17 10:48:21 +00:00