Commit Graph

2987 Commits

Author SHA1 Message Date
mrg 28bd948dba finish moving context management back to being global. add a new ctx_lock
for context administration.
2001-06-03 04:03:28 +00:00
thorpej f0f999ee47 Skip the pseudo-header checksum if nxt == 0. 2001-06-03 01:37:28 +00:00
chs 821ec03ed9 replace vm_map{,_entry}_t with struct vm_map{,_entry} *. 2001-06-02 18:09:08 +00:00
chs 9bde6cff5c remove bogus curly braces from a structure forward-declaration. 2001-06-02 01:19:29 +00:00
mrg 283e406cb0 drop to prom on "halt" as well. 2001-05-31 08:55:19 +00:00
mrg 67afbd6270 use _KERNEL_OPT 2001-05-30 11:57:16 +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
pk aad64f942b !_LKM inclusion protection for opt_kgdb.h 2001-05-27 20:59:22 +00:00
chs 11a9651c8f replace vm_page_t with struct vm_page *. 2001-05-26 21:27:10 +00:00
chs 772a964bef fix typo. 2001-05-26 18:16:01 +00:00
chs 118ddca24a replace {simple_,}lock{_data,}_t with struct {simple,}lock {,*}. 2001-05-26 16:32:40 +00:00
pk e95e804c2f Pull in "opt_kgdb.h"; see PR#13036. 2001-05-26 10:22:32 +00:00
uwe b3421335d9 There is no iommu prom node on JavaStation 1 and sbus node is directly
under root.  If /sbus is encountered on sun4m - attach implied iommu
first and attach /sbus under it.  Adjust bootpath accordingly to match
the attachment.
2001-05-21 22:44:07 +00:00
petrov 2867b0b94c PR#12885, added PROM name translations for fas, from John Heasley <heas@shrubbery.net> 2001-05-21 21:25:28 +00:00
uwe 2a553a6c8d Implement notimplemented() for OpenFirmware.
Implement opf_nextprop().
Reuse obp_v2_putstr for OF promops.
2001-05-20 20:38:24 +00:00
uwe 43adc87035 Save OpenFirmware client interface handler in romp, where it is
expected to be.  GC unused opf_romp variable.
2001-05-20 17:28:16 +00:00
kleink 9e162d4ea5 Delint my previous change. 2001-05-12 22:42:07 +00:00
pk 8001e23cd0 * reserve NBPG et.al. for kernel usage only.
* remove obsoleted comment on `physmap'.
2001-05-10 11:01:08 +00:00
hubertf 8093ee4bba vlan does not belong to the IPv6 devices (gif, stf, ...), so seperate it
visually.
2001-05-05 00:11:48 +00:00
scw 2963ff5c58 Add `l_poll' to `struct linesw' and provide an xxxpoll() entry point
in each tty driver to indirect through it.

This allows tty line-disciplines to handle poll(2) system calls.
2001-05-02 10:32:08 +00:00
kleink 5652bfe409 Re-add accidently removed line continuation in previous; noted by
"Valeriy E. Ushakow" <uwe@ptc.spbu.ru>.
2001-05-01 20:37:44 +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
kleink 99d1259e7f Don't let [gs]etcontext() and friends clash with userland. 2001-04-30 19:35:13 +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
kleink fe3c9ceaf7 * Move definitions of exact-width integer types from <machine/types.h>
to <sys/types.h> and <sys/stdint.h>.
* Add a new C99 <stdint.h> header, which provides integer types of
  explicit width, related limits and integer constant macros.
* Extend <inttypes.h> to provide <stdint.h> definitions and format
  macros for printf() and scanf().
* Add C99 strtoimax() and strtoumax() functions.
* Use the latter within scanf().
* Add C99 %j, %t and %z printf()/scanf() conversions for
  intmax_t, pointer-type and size_t arguments.
2001-04-28 15:41:28 +00:00
kleink 99054d7a6c Add definitions for C99 fastest minimum-width integer types. 2001-04-26 16:25:19 +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 92891185c3 Don't need a prototype for pmap_bootstrap_alloc(); the function
does not exist in the pmap API anymore.
2001-04-23 23:53:07 +00:00
pk f33abf3809 Bump PIL_NET to 7; some sbus network boards use this interrupt level.
Nuke PIL_IMP.
2001-04-23 14:40:03 +00:00
thorpej 69fd928d7c 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-23 01:02:06 +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
pk d373e2120f Fix fdc_c_hwintr() and use it as a fall back if the `fast trap' handler
cannot be registered.
2001-04-19 14:53:36 +00:00
pk 4485b7f720 pmap_enter():
* turn ad-hoc `pmap resources allocated during sleep' into a panic condition
  (this should all be prevented by higher level VM locking).
* arrange for ENOMEM to be returned if PMAP_CANFAIL is on, and malloc()
  and/or pool_get() fail.
2001-04-17 20:14:46 +00:00
kleink 40c8d08347 Oops, intptrs are always long integers. 2001-04-17 13:46:02 +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
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
kleink 9133b51cd8 Replace the 'unsigned __COMPILER_INT64__' construct with a new name,
__COMPILER_UINT64__, to be supplied - if such a case is made, it shouldn't
be assumed that the unsigned type-specifier may be applied to it.
2001-04-12 22:01:18 +00:00
pk cd24bc13e7 Account for the number of counter ticks that elapse while statintr()
processing takes place. This prevents stat clock skew by a factor
approximately proportional to stathz (not a serious problem if stathz==100;
but considerable already if stathz==1000).
2001-04-09 21:28:50 +00:00
pk 2c2e7aca80 Add macro to convert a counter register value to microseconds. 2001-04-09 21:17:33 +00:00
pk a0daff5647 proc_trampoline(): mave the new process run at base interrupt priority level.
This is especially important for in-kernel processes started from here,
which would otherwise keep running at splclock().
2001-04-09 18:18:48 +00:00
pk 0929f3662e * Missing PROM_OPENFIRM: case in getdevtype() and prom_getether().
* In getdevtype(), use prom_instance_to_package() to get to the device node.

From Valeriy E. Ushakov on port-sparc@netbsd.org.
2001-04-04 15:41:46 +00:00
petrov 1c9cc1b092 use NCR_F_DMASELECT instead of ncr53c9x_dmaselect 2001-03-29 03:30:19 +00:00
pk a97039b0ae pmap_release(), pmap_pinit() and the `pm_regstore' field are obsolete. 2001-03-26 23:18:51 +00:00
pk 4de5b658ad Use a pool cache for pmap allocation. The cached pmap structures include
a ready-to-use level 1 page table (on sun4m) and MMU context.
A simple `fork()' test shows an improvement in spent system time of
around 4 percent (which is just a bit disappointing, IMO, but it's
an improvement nonetheless).
2001-03-26 23:12:03 +00:00
pk 104bada017 Missing KERNEL_PROC_LOCK() in the WIN_OF trap code. 2001-03-26 21:58:34 +00:00
lukem 20ba07f2fe - add dev_noimpl(xxx,yyy) macro to replace "(dev_type_xxx((*))) yyy",
and use appropriately

- create more helper macros:
   . cdev__xyz_init(c,n), such as cdev__ocri_init() for
     /* open, close, read, ioctl */, etc.
   . cdev__xRy_init(c,n), where nullop is used instead of enodev to dummy out
     method `R' and the comments now read /* xxx (read) yyy */ instead
   . cdev__xyz_t_init(c,n,t) - as per cdev__xyz_init, but sets d_type = t
     as well

- use seltrue instead of dev_noimpl(poll,*), as (IIRC) cdevsw.d_poll should
  always DTRT WRT returning a valid result.  (a few devices previously
  incorrectly returned ENODEV)

- use dev_noimpl(stop,enodev) instead of dev_noimpl(stop,nullop) if tty
  == 0, because it doesn't matter if dev_type_stop isn't implemented in that
  case, and it allows the use of the cdev__xyz_init macros. certain ports
  (sparc,sparc64,x68k) used the nullop method for dev_type_stop in a few
  drivers, whereas everything else uses enodev

- ensure that the comments are accurate WRT the behaviour of a given entry
2001-03-26 12:33:22 +00:00
mrg 74786e7894 remove overzealous locking changes. 2001-03-22 15:56:43 +00:00
mrg 0fa02bb6e6 sync with sparc64. 2001-03-22 06:21:43 +00:00
mrg e563dea3f6 sync with sparc64 (just some debug messages.) 2001-03-22 06:21:15 +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
mrg 47e6a41505 only lock the kernel around sy_call if !SYCALL_MPSAFE 2001-03-21 09:01:16 +00:00
pk b54ea24924 Merge in4_cksum(). 2001-03-21 00:38:47 +00:00
chs e533061fce in mem_access_fault*(), when invoking the pcb_onfault mechanism, pass the
return value of uvm_fault() to the onfault routine via %o0.  users of
pcb_onfault now return this value to their callers rather than always
returning EFAULT. this allows i/o errors in VOP_GETPAGES() to be returned
back to read(), etc.
2001-03-18 17:11:22 +00:00
mrg 3bb2b205f9 show the cpu a process is running on in proc 2001-03-18 14:24:10 +00:00
mrg 45d39a2030 redo previous slightly differently. 2001-03-18 14:10:34 +00:00
mrg e82b5bb630 "mach slock" for simple_locks 2001-03-18 14:06:10 +00:00
mrg 0fcd32a415 "mach cpu" is MP only. 2001-03-17 01:54:17 +00:00
mrg e44f962032 steal a few mach commands from sparc64. add a #if 0'ed "mach cpu" 2001-03-16 10:28:53 +00:00
mrg 48fc32e16e #ifdef DDB, add new function cpu_debug_dump(). define CPU_INFO_ITERATOR and
CPU_INFO_FOREACH.
2001-03-16 10:26:11 +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
mrg ef26546e15 lock the kernel around calling interrupt stubs. 2001-03-15 03:20:43 +00:00
mrg 122b3a0e67 sprinkle KERNEL_LOCK() and KERNEL_PROC_LOCK() where they're missing. add
SYSCALL_DEBUG support to trap.c.
2001-03-15 03:01:39 +00:00
tsutsui 43bd337868 Update for recent changes to the MI i82586 driver.
(added 'why' argument to the channel attention hook function)
2001-03-13 16:31:14 +00:00
pk 1b84e6fb33 pasto: sc_maddr => sc_mem 2001-03-09 10:19:54 +00:00
thorpej 5dedbd1c97 Duh, don't forget the proc argument. 2001-03-08 01:46:18 +00:00
thorpej 3423154d78 Use bus_dmamap_load(), not bus_dmamap_load_raw(). 2001-03-08 01:38:57 +00:00
thorpej 2c4c690f14 Add the BUS_DMA_STREAMING flag. 2001-03-07 22:42:16 +00:00
pk a917eabaec * A couple of `#if defined(SUN4M)' should be `#if defined(MULTIPROCESSOR)'
* Print notice if not all CPUs were attached
* Switch to SMP version of cache flush routines in just one place: in
  cpu_attach() after all known CPUs have been configured.
2001-03-06 13:39:22 +00:00
pk b91b8796d9 Implement MSGBUFSIZE option. 2001-03-05 16:46:09 +00:00
pk 8eeb7a8a79 mp_{pause,resume}_cpu(): avoid crash when cpu(s) not yet configured. 2001-03-05 16:45:22 +00:00
pk f3c74253b0 Fix `flags' argument to pmap_enter(). 2001-03-05 16:43:34 +00:00
pk 90e5095df2 Fix syntax error in previous change. 2001-03-05 07:16:19 +00:00
pk 4e14c96788 In debug printf: missing quote on format string. 2001-03-05 07:04:01 +00:00
pk a1b18f9435 Fix syntax error in previous. 2001-03-04 21:28:11 +00:00
pk bac5be6461 Simplify `bad alias' handling in pv_link()/pv_unlink():
- there's no need to have different PV_NC flags for sun4[c] & sun4m

	- deal with kvm_uncache() being called on a managed page in a
	  separate helper function that deals with the caching state
	  within the pv list for that page, avoiding interference with
	  the `bad alias' removals in pv_unlink().

Note that currently never called for managed pages, but for now I'm
keeping the support in.
2001-03-04 21:12:24 +00:00
mrg b301668cb5 build sparc64 bootblk, ofwboot, & ofwboot.net on sparc 2001-03-04 15:34:45 +00:00
mrg e85a9ee949 this is a sparc64 program. so -DSUN4U, machine -> sparc64. cleanup. 2001-03-04 14:50:05 +00:00
mrg 0a1cdb5f63 allow sparc "make release" to build a sparc64 capable 32 bit kernel. 2001-03-04 10:12:56 +00:00
pk 51668836b3 Remove unused declaration of `cpcb', which is no longer a global variable. 2001-03-03 19:42:38 +00:00
pk d74da58795 alloc_cpuinfo: zero all the memory we allocate; not just the `cpuinfo' part.
cpu_attach: initialize `curpcb->pcb_wim' for each additional CPU.
2001-03-03 19:40:28 +00:00
pk bb5f16e6e0 Sprinkle KERNEL_PROC_LOCK()s at the kernel entry points. 2001-03-03 19:11:02 +00:00
pk bba5d36487 Initialize the IPI message locks. 2001-03-02 17:00:13 +00:00
pk 0548d12369 * proc_trampoline: call `proc_trampoline_mp()' #if MULTIPROCESSOR;
currently necessary to acquire the `running in kernel mode' lock;
  pointed out by Bill Sommerfeld/Simon Gerraty.

* remove reference to `cpu_set_kpc()' from comments, as we don't have it.
2001-03-02 10:27:00 +00:00
pk e999fb6b77 bootstrap area: remove dead code + some trivial reformatting 2001-03-02 09:48:13 +00:00
pk d98e8d5bca * Correct the `flags' argument in call to pmap_enter().
* Enable the message buffer at a temporary virtual address (KERNBASE)
  in bootstrap(), if that can be done.
2001-03-01 16:14:25 +00:00
pk 813b8d79fd * Correct the `flags' argument in several calls to pmap_enter().
* message buffer initialisation:
	- change the buffer size to 8192 on all platforms
	- don't assume the buffer is always located at physical address 0
	- drop the SUN4 hack that left first half of the page unused;
	  I believe this is no longer necessary, since the msgbuf
	  data structure is duely sanity-checked before use in initmsgbuf().
2001-03-01 16:09:25 +00:00
pk 6ae8b9ec6d Drop MSGBUFSIZE; we don't use it and it can't currently be configured
to a different value anyway.
2001-03-01 15:59:04 +00:00
pk 80ba31bd21 Drop the managed() macro; it is no longer used.
State the intended use of the vm_{first,last,num}_phys variables that are
still exported from pmap.c.
2001-03-01 15:56:47 +00:00
pk aad0b0bcd2 Change `pv list' management to use the hooks provided in the `vm_physmem'
structure. While this comes with the cost of having to search the
`vm_physmem' array every time need to find a PV entry corresponing to
some physical address, we gain the flexibility needed to support
arbitrary non-contiguous ranges of physical memory addresses.

Also, eliminate the need to sort the memory address ranges as presented
by the machine's PROM, and the requirement that physical memory starts
at address 0 (when possible).
2001-03-01 15:52:18 +00:00
pk b87a62e09a Make sure that e.g. myetheraddr() has a valid idprom pointer as soon as
possible on sun4, since it may be used before the clock attaches.
2001-02-28 14:45:23 +00:00
mjacob 312d560493 add SES device (unused #4) 2001-02-28 00:06:28 +00:00
pk 18026ec99d * Make PAGE_SIZE et.al. constants, if possible.
* Add pvlist pointer to `struct pmap_physseg'
* Because of the above, add guard against multiple inclusions.
2001-02-27 22:40:08 +00:00
cgd 8a986b2e96 convert to use getprogname() 2001-02-19 22:48:57 +00:00
jmc 106522ed47 Add -f option. If used it will perform the low level block operations on the
file rather than requiring a raw device. Useful when dealing with vnd's
images and building snapshots. Also allows snapshots to be built in
securelevel > 0.
2001-02-19 06:23:55 +00:00
pk d850f6f9d2 Remove check for encoded iospace/nocache bits within physical addresses
in places where they can't possibly occur as the PA is for a VM managed
page.
2001-02-16 23:00:11 +00:00
pk 063b190de9 Hold off supplying the text/data gap to the VM manager; our pv table
handling isn't adequate yet.
2001-02-13 15:54:33 +00:00
pk e547d3816d pmap_page_upload(): check if `etext_gap' is there, just in case. 2001-02-13 13:48:15 +00:00
pk 460bc0a0fc Recover the ~64KB gap in between the text/rodata & data segments that's being
generated by the linker in sparc/ELF images. The physical pages in this gap
are unmapped from the kernel and given to the VM manager.
2001-02-12 22:02:58 +00:00
pk d713d112c9 Provide symbol `kernel_data_start' as the first address in the .data segment. 2001-02-12 21:56:54 +00:00
pk 203c10194b Supply a kernel link script that puts `etext' at the end of all
read-only sections. Modelled after a similar change in the i386 port.
2001-02-11 16:16:58 +00:00
pk 25a91d5c1e _bus_dma_valloc_skewed(): return a vaddr_t, not error codes; make missing
boundary check return an error, so the caller can decide how to respond.
2001-01-31 15:17:42 +00:00
pk 5538893eda sun4_dmamap_load(): Check if boundary condition can be satisfied instead
of panicing blindly.
2001-01-28 20:48:31 +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
jdolecek 8b24036797 Require the machine-dependant DDB commands to be in db_machine_command_table[]
and link it directly to db_command_table[] so that it's not necessary
to do this at runtime. Make db_machine_command_table[] const on all ports.
g/c now unneded stuff, like db_machine_commands_install(), db_machine_init()

Patch written by enami.
2001-01-22 13:56:55 +00:00
pk 57f38322d4 Add `-mno-fpu' to the compiler options once again: the current compiler
(egcs-2.91.66) is still liable to use FPU registers as temporaries.
2001-01-22 12:59:29 +00:00
christos 9bd2dee3b2 fix bit rot so that MP kernel compiles s/cpu_no/ci_cpuid/ 2001-01-21 07:48:29 +00:00
pk 13d4fcd69b In cpu_reboot(), only reset the TOD clock if the time is known to be good
enough, e.g. it has been initialized already by inittodr() or set
explicitly before by resettodr().  This prevents the TOD clock from going
way backwards when typing `halt' at the `mount root filesystem' prompt.
2001-01-20 13:44:29 +00:00
tv e58532a4bf No-op commit to force update to a non-"-kk" revision. 2001-01-18 17:47:58 +00:00
pk 13e03d4b43 On V0 proms, read the `idprom' property at the root node to get to the
station's ethernet address.
2001-01-18 12:50:10 +00:00
jdolecek d5d431e8ae make db_[e]regs[] const 2001-01-18 10:54:27 +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
martin a261276f16 The i4b raw b-channel devices actually do have an ioctl routine,
so better add this to the cdevsw entry.
Noted by Bruno Achauer.
2001-01-14 11:17:28 +00:00
thorpej 979919ee0f splpmap() -> splvm() 2001-01-14 02:03:48 +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
martin f53c899649 Add isdn devices to all archs that seem to support at least one of the
necessary busses. Sync comments with reality for archs that already had
the devices.
2001-01-08 21:46:33 +00:00
takemura c5fd828440 replace 'long long' with int64_t to compile stand alone program with
compiler other than GCC.
2001-01-03 10:08:55 +00:00
itojun efa2b7073c make mbstate_t bigger (32 -> 128 bytes).
XXX if you have libc after citrus locale import, please recompile libc,
and your applications that use mbstate_t (rather rare).  really sorry
for the mess.
2000-12-26 10:35:28 +00:00
jdolecek e9e91a0fb5 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.
2000-12-22 22:58:52 +00:00
itojun 823498203f populate _BSD_MBSTATE_T_. add warning regarding to rune_t. 2000-12-21 06:03:47 +00:00
bouyer c71f40d166 Add pseudo-device vlan 2000-12-19 10:42:02 +00:00
jdolecek cacec11253 delete obsolete comment 2000-12-17 15:52:39 +00:00
jdolecek ca57e681bd g/c obsolete vtrace(2) stuff 2000-12-13 18:13:05 +00:00
mrg 703ec39a02 fix warnings in DEBUG & DIAGNSTIC code. 2000-12-06 01:47:49 +00:00
mrg ce0e1dea34 sync relocs with sparc64. 2000-12-04 01:49:34 +00:00
mrg 3806c27f34 sync a comment with sparc64/include/types.h 2000-12-04 01:33:36 +00:00
jdolecek f3d1c08b2a check emul flags for EMUL_HAS_SYS___syscall instead of comparing
callp to sysent; the COMPAT_AOUT hack is gone
2000-12-01 19:50:17 +00:00
pk cd9bcb98dc Undo most of rev 1.94 to make a.out emulation work again. 2000-11-27 13:31:18 +00:00
chs bac6420b96 fix reversed keywords in previous commit. 2000-11-23 21:58:54 +00:00
chs c588bbbe76 add a missing newline in a printf(). 2000-11-21 08:14:17 +00:00
jdolecek baae0324b9 restructure struct emul and execsw, in preparation to make emulations LKMable:
* move all exec-type specific information from struct emul to execsw[] and
  provide single struct emul per emulation
* elf:
  - kern/exec_elf32.c:probe_funcs[] is gone, execsw[] how has one entry
    per emulation and contains pointer to respective probe function
  - interp is allocated via MALLOC() rather than on stack
  - elf_args structure is allocated via MALLOC() rather than malloc()
* ecoff: the per-emulation hooks moved from alpha and mips specific code
  to OSF1 and Ultrix compat code as appropriate, execsw[] has one entry per
  emulation supporting ecoff with appropriate probe function
* the makecmds/probe functions don't set emulation, pointer to emulation is
  part of appropriate execsw[] entry
* constify couple of structures
2000-11-21 00:37:49 +00:00
chs c62d17a551 rationalize the use of b_flags for geteblk() buffers.
rather than assigning to the whole field, set or clear individual flags,
which implies that the B_BUSY and B_INVAL flags will remain set.
this allows us to make the assertion in brelse() that B_BUSY is set,
which is the purpose of all this.
2000-11-20 08:24:08 +00:00
pk 521b17daa6 Adjust OF_setprop() prototype. 2000-11-15 16:15:01 +00:00
pk 4a80a32735 Adjust setprop() prototype to match the one in dev/ofw/openfirm.h 2000-11-15 16:14:13 +00:00
pk 439b4b325a OF_getproplen(), OF_nextprop() and OF_setprop() prototypes are now in
dev/ofw/openfirm.h
2000-11-15 16:13:10 +00:00
pk 11eb59d511 Adjust setprop() prototype to match that in dev/ofw/openfirm.h 2000-11-15 16:12:01 +00:00
kleink a5a6bbd1a8 Defopt BLINK. 2000-11-14 11:34:51 +00:00
pk db6832a4b6 Detect "EOF" conditions on the memory-special files. 2000-11-13 15:31:44 +00:00
pk 84ee07379b Remove left-over turds from previous __P() cleanup. 2000-11-12 21:07:21 +00:00
pk 258784289c This file is no longer needed; it's superseded by the MI mk48xx driver. 2000-11-11 12:34:22 +00:00
pk d80d0a8b06 Print host ID in hex. 2000-11-11 12:24:07 +00:00
pk f88b137bd5 De-__P() this file. 2000-11-11 12:19:20 +00:00
pk 53c656364f Switch to MI mk48xx and intersil7170 time-of-day clock drivers. 2000-11-11 12:14:03 +00:00
pk 109cb0fd5e Rename storage for the sun4 idprom structure to `sun4_idprom_store'. 2000-11-11 12:12:46 +00:00
pk 0d4a68ac9b Pull in the mk48txx and intersil7170 drivers. 2000-11-11 11:19:52 +00:00
eeh 8c3f6a0d10 Adapt to new line discipline scheme. 2000-11-02 00:37:56 +00:00
pk b37856ac0e Update comment accompanying the SUN4_MMU3L option. 2000-11-01 14:34:22 +00:00
eeh ec079ca021 Pass on the sbus frequency. 2000-11-01 06:27:45 +00:00
pk 47e4ec04e2 Dispose of `boot.net.big'. 2000-10-31 23:29:36 +00:00
pk 4bddbd7e5f Align the DVMA mapping on NBPSG boundaries. 2000-10-31 23:28:11 +00:00
pk 628fe3035f Change the relocation address of `boot' once again to steer clear of
memory used by the PROM on sun4 and early sun4c machines.
2000-10-31 23:21:47 +00:00
pk f4dbaa7ac3 This file now lives in sys/dev/sun. 2000-10-31 21:55:14 +00:00
pk 62dddfec3c Enable sun4 support and VME devices. 2000-10-30 23:23:15 +00:00
pk 0e7d945483 This file is no longer used. 2000-10-20 11:31:59 +00:00
pk 2c6b19bec4 Add new-line to md attach message. 2000-10-20 11:28:04 +00:00
pk 4dd761fc83 Adjust md root filesystem size.
Enable MFS.
2000-10-20 11:24:48 +00:00
pk d037bc4f59 Change to relocation addresses that currently work on all machines.
boot programs at alternative addresses no longer built and installed
by default.
2000-10-20 11:21:08 +00:00
pk 44f6bd0d7f When relocating, there's no need to copy the BSS area. 2000-10-19 00:16:03 +00:00
pk 9d61e4d9a6 Account for the top-most 4 bits of obio addresses being zero on sun 4/100
machines, when inferring zs PROM device numbers from the physical address.
2000-10-18 23:55:11 +00:00
mjacob 7088593e82 Hmm- probably really ought to put ses into sparc GENERIC, since sparc
machines are one is very likely to run into SES units (what with all
the D1000's && A1000s out there now). I'll do it in sparc64 as soon
as I get that running for myself.
2000-10-16 01:29:06 +00:00
christos c49fc8469f void cast for lint. 2000-10-13 03:53:26 +00:00
christos 6b7dd5a41a add sunkbd.c and sunms.c; apparently these are now needed because
tty_conf.c brings them in.
2000-10-12 21:27:13 +00:00
christos 6708aee34f add missing kd_attach_input routine.
someone needs to clean this shit up.
2000-10-12 21:26:28 +00:00
abs 2824f4906d Ensure all INSTALL* kernels have two ptys, and a note explaining why:
pseudo-device  pty             2       # pseudo-terminals (Sysinst needs two)
(Some installers may not be using sysinst, in which case this just reduces
the number of ptys from 16 that are not used to 2 that are not used)
For i386 conf files, no change other than comments.
2000-10-02 18:43:34 +00:00
abs 5aa0a5abb1 Prior art in naming would suggest INSTALL_SYSINST rather than INSTALL-SYSINST. 2000-09-28 12:46:43 +00:00
abs 3ef92f0bdb Use "options<SPACE><TAB>" not "options<TAB>" - noted by simonb.
Move VNODE_OP_NOINLINE and NFS_V2_ONLY into '# Filesystem options' section.
Consistently label '# Filesystem options' and '#File systems' sections.
2000-09-25 13:54:50 +00:00
abs ccf1c822a6 Ensure all INSTALL config files have (at least) COPTS="-Os", cincluding bebox
based on it working already for macppc.
Also add commented out:
#options        VNODE_OP_NOINLINE       # Don't inline vnode op calls
#options        NFS_V2_ONLY             # Exclude NFS3 and NQNFS code
as suggestions for additional savings
2000-09-25 11:46:37 +00:00
jdolecek b1f94e26ab don't specify number of ptys if >= 16 (current default initial number)
pty comments: normalize and g/c what is no longer relevant
2000-09-24 15:59:26 +00:00
jdolecek 27824fb036 note support for verbose/quiet boot (-v, -q flags) 2000-09-24 12:33:58 +00:00
jdolecek 49c105ffdb add new macro BOOT_FLAG() (defined in <sys/boot_flag.h>) - this
maps standard boot flags to corresponding RB_* values
use BOOT_FLAG() in port's MD code as appropriate

as discussed on tech-kern, add new boot flags -v, -q for booting
verbosely or quietly, and corresponding AB_VERBOSE/AB_QUIET
boot flags; also add FreeBSD-compatible bootverbose macro and
NetBSD-specific bootquiet macro

for hpcmips, use new bootverbose instead of it's own hpcmips_verbose

Tested on i386, and to limited extend (compile of affected files) also for
mvme68k, hp300, luna68k, sun3.
2000-09-24 12:32:31 +00:00
pk d5fe063129 MULTIPROCESSOR: if the cache flush functions are no-ops on a single
processor, they can be no-ops in the MP case as well.
2000-09-19 13:44:35 +00:00
thorpej 72a24b4eae Add an align argument to uvm_map() and some callers of that
routine.  Works similarly fto pmap_prefer(), but allows callers
to specify a minimum power-of-two alignment of the region.
How we ever got along without this for so long is beyond me.
2000-09-13 15:00:15 +00:00
pk 4e56e1746f Turn off page zeroing in the idle loop; an unidentified bug causes (very
sporadic) user process corruption.
2000-09-10 11:32:04 +00:00
pk 3011e0816b Revise pv_table_map(): to simplify calculations, pv_table[] now covers
all of physical memory, i.e. it conceptually is pv_table[0..avail_end].
The previous version could lead to an off-by-one error in the page allocation
for pv_table[] in some memory configurations.
2000-09-09 10:24:34 +00:00
abs b5f864571c Switch INSTALL back to being used by miniroot install.
Add INSTALL-SYSINST config for sysinst install.
These are expected to diverge more as time progresses.
2000-09-04 16:16:18 +00:00
pk 710295327e Scheduler lock update. 2000-08-31 16:59:12 +00:00
pk 55af96281e Pull down from 1.4 branch: default relocation address = 3E0000 2000-08-28 19:10:31 +00:00
thorpej 4db6fc7542 Make need_resched() take a "struct cpu_info *" argument. This
causes gives a primitive form of processor affinity.  Its use in
roundrobin() still needs some work.
2000-08-25 01:04:06 +00:00
nathanw 5127aa189d In fdioctl(), allocate fd_formb dynamically when needed, rather than on
the stack, and remove the no-longer-necessary PHOLD()/PRELE() calls
in fdformat().

(This eliminates 1/3 of the instances of PHOLD()/PRELE() in the kernel code.)

XXX We still have too many mostly-redundant floppy drivers.
2000-08-24 20:04:28 +00:00
pk 7c10808744 Use common fb.c from sys/dev/sun. 2000-08-23 13:41:58 +00:00
pk 91f1b275c9 Remove driver declarations that are now in /sys/dev/{sbus,sun} 2000-08-22 21:29:49 +00:00
pk 702e1dd9e6 Use the framebuffer drivers & header files that now live in /sys/dev/sun. 2000-08-22 21:28:24 +00:00
thorpej 58e7a6954b Add spllock(). See spl(9) for details. 2000-08-22 19:46:26 +00:00
abs 02a00854f4 Diet a little to help fitting onto a floppy 2000-08-22 13:36:14 +00:00
thorpej 23a7f255d4 Make sure we provide splsched() as described in spl(9). 2000-08-21 02:06:31 +00:00
mrg e144281c4e move ofwboot & bootblk here; add a Makefile to build ofwboot.net 2000-08-20 14:58:36 +00:00
mrg 85737336b4 add/merge sparc64 support. 2000-08-20 14:57:16 +00:00
mrg 9bea0e1a52 fix ultrasparc support. 2000-08-20 14:56:28 +00:00
pk 4ec48d799f fbio.h moded to sys/dev/sun.
Retain symlink from /usr/include/machine.
2000-08-20 14:02:59 +00:00
pk 1f76e23f2c Drop two `#ifdef SUN4U's, since `sparc{64}/include/instr.h' are now synced. 2000-08-16 11:36:36 +00:00
pk d48d0665e9 Sync with sparc64. 2000-08-16 11:30:38 +00:00