Commit Graph

4402 Commits

Author SHA1 Message Date
haya
d1421ab5ac Remove unnecessary function arguments. 2000-06-06 08:20:06 +00:00
haya
c93ef01fbf Use entire extent region when PCIBIOS_ADDR_FIXUP is set. PCIBIOS
provides PCI-dedicated memory and io extent.
2000-06-06 08:17:37 +00:00
sommerfeld
bbca3924cd Replace "timestamp" with "counter" in previous change, to avoid any
possible confusion that it has anything to do with accurate
measurement of time.

New names:
	__HAVE_CPU_COUNTER
	cpu_counter()
	cpu_hascounter()
2000-06-06 01:33:15 +00:00
jhawk
c063b64a2b Do not clear msgbufenabled in dumpsys(). Dump messages will now go to
the message buffer. This can be invaluable in debugging if the dump
fails (assuming a persistant message buffer)
2000-06-05 23:44:55 +00:00
gmcgarry
d0241b393f Replace references to xe with xi. Clarify description to avoid
confusion with the Xircom tlp-based cards.
2000-06-05 23:18:50 +00:00
sommerfeld
bcf02ec8ff If rnd is configured into the kernel, do rnd(4) entropy collection
from devices connected to pckbc:
 - Do actual sample collection in pckbc.
 - Add rndsource_element_t to the slot data.
 - Change pckbc_set_inputhandler() to take an additional argument,
the name of the device, which is (eventually) passed into
rnd_attach_source() to identify the source.
 - Change callers of pckbc_set_inputhander() appropriately.
2000-06-05 22:20:54 +00:00
sommerfeld
fae21c7be1 Let rnd(4) know how to read the (pentium and higher) cycle counter:
If __HAVE_CPU_TIMESTAMP is defined, <machine/rnd.h> exists and defines
two functions:
  1) 	u_int32_t cpu_timestamp(void);
returns the 32 low order bits of a reasonably high frequency counter.
  2)	int cpu_havetimestamp(void);
returns non-zero if cpu_timestamp() actually works.

The timestamp counter should run at a frequency greater than 1 MHz
(otherwise, microtime would be sufficient); other than that, the exact
frequency and origin of the counter are unspecified.
2000-06-05 21:15:22 +00:00
joda
9e1f399ada fix `#scsibus at siop?' line 2000-06-05 13:34:13 +00:00
gmcgarry
11382b8021 Add APM_ALLOW_BOGUS_SEGMENTS - allow the use of data segments which
are in unexpected locations.
2000-06-04 22:36:27 +00:00
mycroft
43a543fa88 Implement CLKF_INTR(), to count interrupt time separately. 2000-06-04 21:27:38 +00:00
cgd
cffb580806 Implement the more flexiable `evcnt' interface as discussed (briefly) on
tech-kern and now documented in evcnt(9).
2000-06-04 19:14:14 +00:00
mycroft
9dcdff8f25 Add stubs for PE/COFF. 2000-06-04 16:26:11 +00:00
mycroft
e9deffe0bf Move a bunch of the COFF definitions into exec_coff.h, so they can be used by
other code.   XXX Not tested on SH3 yet.
2000-06-04 16:23:59 +00:00
fvdl
d1d025652d Revert previous change until the problem it has has been analyzed. 2000-06-03 17:33:25 +00:00
cgd
0b270a9dfb booted_partition, not booted_parition... 2000-06-02 22:09:02 +00:00
thorpej
42e4f5279b Rearrange the code that loads pages into the VM system somewhat, and
use the ACPI memory map if provided by the boot program.
2000-06-02 18:33:16 +00:00
thorpej
90ef824c6d Actually define the ACPI memory map entry (bi_memmap_entry). 2000-06-02 18:27:47 +00:00
thorpej
7f1c64b910 Enable the code that passes the ACPI memory map to the kernel. 2000-06-02 18:26:10 +00:00
thorpej
7a5ce477cb When allocating new PT pages during early bootstrap (i.e. before
pmap_init() has finished), make sure to zero them.
2000-06-02 17:46:37 +00:00
haya
7bb941e63d KNFied. 2000-06-02 08:41:13 +00:00
matt
33763f10cf Fix a missing cases of devpp -> booted_device, partp -> booted_parition 2000-06-01 17:42:59 +00:00
matt
251afc5218 fix compile problem. 2000-06-01 17:35:42 +00:00
matt
9169d99f2a Don't pass booted_* to findroot/getdevice, access them via the globals.
Also, make findroot static.  This eliminates unneeded clearing of them
and make their use consistent among the ports.
2000-06-01 15:38:20 +00:00
david
156fa3d59c Remove entry for non-existant driver that entered GENERIC in 1.289
and propagated to others when sync'd.
2000-06-01 04:24:00 +00:00
matt
7067d99bb7 Since booted_device/paration are globals, no need to init them to 0. 2000-06-01 04:16:37 +00:00
matt
c9aff328d9 Make booted_device global (and booted_parition for consitency).
Eliminate it from header files and other extern definitions.
2000-06-01 00:49:49 +00:00
cgd
47449a63d2 kill __P in these files. (I had to look at them anyway with an eye for
adding some protos... and adding them with __P seems wrong, but mixing
__P and not __P in the same file seems wrong too, so...)
2000-06-01 00:04:50 +00:00
uch
53c8f0ac37 if defined PCIBIOS_ADDR_FIXUP, use more safety extent. 2000-05-31 16:39:56 +00:00
uch
a99c8407ab don't destroy PCI bus space extent for rbus_machdep.c 2000-05-31 16:38:55 +00:00
mycroft
d6f10e4b63 Use the frame pointer that matches the PC for the `trace/t' and panic (i.e.
have_addr==TRUE) cases.
2000-05-31 16:24:24 +00:00
thorpej
8c2d00aaeb Add a comment about needing to initialize p_cpu when multiple
processors are supported.
2000-05-31 05:09:14 +00:00
nisimura
0e80e9cd4b Minor comment adjustments. cpu_switch has an argument of struct proc *. 2000-05-31 01:46:15 +00:00
haya
03c4724943 Use rbus_new_root_share() instead of rbus_new_root_delegate(). 2000-05-30 09:26:19 +00:00
thorpej
2e7afc702d Update. 2000-05-28 21:49:02 +00:00
thorpej
e51303c17e Mirror last change to GENERIC. 2000-05-28 21:48:52 +00:00
jhawk
daa86a0be1 Add patchable "pnpbiosdebug" global if PNPBIOSDEBUG is compiled in,
and add PNPBIOSDEBUG_VALUE to initialize its value, defaulting to 1.
2000-05-28 21:46:04 +00:00
jhawk
fb6d063b8c pnpbios from 1.344 didn't config. s/pnpbios0/pnpbios?/ 2000-05-28 21:12:00 +00:00
thorpej
4af4c47f80 Tidy up a little, improve PnP BIOS section. 2000-05-28 20:11:59 +00:00
thorpej
b6c4eb81fd Massive cleanup and syncing with GENERIC 2000-05-28 20:10:29 +00:00
thorpej
e03e9e8086 Rather than starting init and creating kthreads by forking and then
doing a cpu_set_kpc(), just pass the entry point and argument all
the way down the fork path starting with fork1().  In order to
avoid special-casing the normal fork in every cpu_fork(), MI code
passes down child_return() and the child process pointer explicitly.

This fixes a race condition on multiprocessor systems; a CPU could
grab the newly created processes (which has been placed on a run queue)
before cpu_set_kpc() would be performed.
2000-05-28 05:48:59 +00:00
tv
ab415393d3 ep' has plug-and-play' support on all buses, including non-PnP ISA.
Attach ep* at isa instead of ep0, so we will autoconfigure all 3c5x9s.
2000-05-28 02:42:16 +00:00
mycroft
6a082e4797 Clear %ebp in the forked child, so we don't try to unwind past it. 2000-05-27 23:01:44 +00:00
sommerfeld
40339b39f9 Reduce use of curproc in several places:
- Change ktrace interface to pass in the current process, rather than
p->p_tracep, since the various ktr* function need curproc anyway.

 - Add curproc as a parameter to mi_switch() since all callers had it
handy anyway.

 - Add a second proc argument for inferior() since callers all had
curproc handy.

Also, miscellaneous cleanups in ktrace:

 - ktrace now always uses file-based, rather than vnode-based I/O
(simplifies, increases type safety); eliminate KTRFLAG_FD & KTRFAC_FD.
Do non-blocking I/O, and yield a finite number of times when receiving
EWOULDBLOCK before giving up.

 - move code duplicated between sys_fktrace and sys_ktrace into ktrace_common.

 - simplify interface to ktrwrite()
2000-05-27 00:40:29 +00:00
thorpej
a7d0570e67 First sweep at scheduler state cleanup. Collect MI scheduler
state into global and per-CPU scheduler state:

	- Global state: sched_qs (run queues), sched_whichqs (bitmap
	  of non-empty run queues), sched_slpque (sleep queues).
	  NOTE: These may collectively move into a struct schedstate
	  at some point in the future.

	- Per-CPU state, struct schedstate_percpu: spc_runtime
	  (time process on this CPU started running), spc_flags
	  (replaces struct proc's p_schedflags), and
	  spc_curpriority (usrpri of processes on this CPU).

	- Every platform must now supply a struct cpu_info and
	  a curcpu() macro.  Simplify existing cpu_info declarations
	  where appropriate.

	- All references to per-CPU scheduler state now made through
	  curcpu().  NOTE: this will likely be adjusted in the future
	  after further changes to struct proc are made.

Tested on i386 and Alpha.  Changes are mostly mechanical, but apologies
in advance if it doesn't compile on a particular platform.
2000-05-26 21:19:19 +00:00
jdolecek
2649f518ec note in BIG WARNING LETTERS that MCA support is experimental and the
kernel should only be used for experimentation
comment out some stuff not present or used on my development machine
g/c ef
add (commented out) aha attachment
2000-05-26 20:59:07 +00:00
jhawk
8e44b27348 Rename the machine-specific stack trace printing functions
from db_stack_trace_cmd() to db_stack_trace_print(),
and add an additional argument, a function pointer for an
output routine (i.e. printf() or db_printf()).

Add db_stack_trace_cmd() in db_command.[ch], calling
db_stack_trace_print() with db_printf() as the printer.

Move count==-1 special handling from db_stack_trace_print() [nee
db_stack_trace_cmd()] to db_stack_trace_cmd() [nascent here].

Again, I'm unable to test compilation on all affected platforms,
so advance apologies for potential brokenness.
2000-05-26 03:34:24 +00:00
thorpej
8964c35eca Introduce a new process state distinct from SRUN called SONPROC
which indicates that the process is actually running on a
processor.  Test against SONPROC as appropriate rather than
combinations of SRUN and curproc.  Update all context switch code
to properly set SONPROC when the process becomes the current
process on the CPU.
2000-05-26 00:36:42 +00:00
jhawk
f3528d725d Interface change: db_printsym() takes a third argument, pr, a function
pointer indicating how to print the symbol. This allows db_printsym()
to called in places where db_printf() is not an appropriate output
function.

While straightforward, apologies in advance if I've introduced any minor
syntax errors; I was unable to test compilation this on all the affected
platforms.
2000-05-25 19:57:30 +00:00
mason
af43639ded Fixed typo in ses comment - devies -> devices 2000-05-25 01:34:18 +00:00
thorpej
1140468205 Use preempt(), not an open-coded equivalent (which won't be
equivalent for long).
2000-05-24 16:48:33 +00:00
thorpej
920010ad8f Add SCSI Enclosure Services at cdev minor 74. 2000-05-22 16:58:20 +00:00
thorpej
78112e2541 Add `ses' (SCSI Enclosure Services) device. 2000-05-22 16:48:41 +00:00
perry
2a9fe3a4e7 Actually return the BIOS error code (if any) generated by the reads 2000-05-21 16:59:28 +00:00
jhawk
24396ea653 revert 1.21 (back to 1.20);
the problem was due to diskbuf[] getting pushed over a 64k
boundary, and has now been fixed (for the moment).
2000-05-21 16:33:12 +00:00
jhawk
07a3d660c5 This change courtesy of Charles Hannum <root@ihack.net>. This
addresses the problems seen by Jason Thorpe <thorpej@netbsd.org> and
Erik Berls <cyber@netbsd.org> necessitating rev 1.20 of
biosboot/main.c.

Move BOOTSEG from 0x100 to 0x1000.
Move heap from 0x10000 to 0x20000.

XXXXXXXX

This is a Kluge From Hell to allow boot blocks to grow a little larger
without diskbuf[] crossing a 64k boundary.
2000-05-21 16:29:14 +00:00
augustss
bdc8c2f8f4 Alphabetize. 2000-05-20 21:34:48 +00:00
thorpej
4756ba9e32 #if 0 out the consdev command stuff -- with it, boot blocks don't
work, without it, they work fine.  Size issue?
2000-05-19 22:26:50 +00:00
veego
1cd1663317 Disable the viaenv driver and remove the siop entry which was added
in the last commit.
2000-05-19 10:23:36 +00:00
thorpej
f636538446 NULL != 0 2000-05-19 04:34:39 +00:00
thorpej
56512515f8 Add Cyclades-Z serial. 2000-05-17 18:08:50 +00:00
thorpej
640a49f093 Add Cyclades-Z serial adapter at cdev minor 73. 2000-05-17 18:08:03 +00:00
uch
b444da72bd Skip fixup phase when system BIOS setting were perfect.
don't write 0 to command register. (it is harmful).
2000-05-17 09:50:34 +00:00
thorpej
463931b3ba Nuke dk_establish() from orbit except from those ports which still use
it to determine the boot device: mvme68k, pc532, macppc, ofppc.  Those
platforms should be changed to use device_register().  In the mean time,
those ports defined __BROKEN_DK_ESTABLISH.
2000-05-16 05:45:44 +00:00
jhawk
aa0007b5a5 In case of db_onpanic=0, still drop to ddb if the trap was from within
ddb.
i.e. "db> x/s 0x14" should return you to ddb when it faults, regardless
of the state of db_onpanic.
2000-05-15 20:16:48 +00:00
jhawk
2dc49a4780 Comment out XSERVER and XSERVER_DDB and move them to the pccons-specific
section. They are not used with wscons.
2000-05-14 04:36:09 +00:00
jdolecek
6572f303f4 remove now redundant comment regarding IBM_L40 define 2000-05-13 19:58:41 +00:00
jdolecek
950749ab6f add special bootblocks for IBM PS/2 - those machines need different gate A20
addressing
2000-05-13 19:58:01 +00:00
jhawk
187860f8fb Fix problem from 1.27, and more long-standing in the commented-out
-DSUPPORT_SERIAL options:

Only set -DSUPPORT_SERIAL=CONSDEV_PC for "biosboot" and "biosboot_resetvideo",
but not for biosboot_com0.
2000-05-13 19:03:19 +00:00
jhawk
d4091aa02e Add support for on-the-fly switching of console devices interactively
from biosboot via the "consdev" command.
2000-05-13 05:31:00 +00:00
jhawk
a72e1e9c59 Add support for on-the-fly switching of console devices interactively
from the i386 biosboot via the "consdev" command.
2000-05-13 05:25:20 +00:00
jhawk
1dac4cd666 Add support for on-the-fly switching of console devices interactively
from biosboot via the "consdev" command.

Move "Press return" printf() out of print_banner() so we can
print_banner() reasonably after switching devices.
2000-05-13 05:23:37 +00:00
thorpej
26f56b9cab Only use __builtin_va_alist_t if using GCC 2.96 or later. Fixes
pkg/10080, from Matthias Scheler.
2000-05-12 23:49:11 +00:00
bouyer
9c43539f8f The VIA Technologies VT82C686A SMBus Controller claims to be a PCI/ISA
bridge, ignore it. Should fix kern/10093 by Mark Dohring.
2000-05-12 20:31:22 +00:00
jhawk
ed3acc8fbb zsr has acquired a wi card 2000-05-12 03:14:21 +00:00
drochner
d5d280d015 -attach auxilary PCI buses at the 450NX chipset,
tested by hubertf in a small configuration (1 PXB - 2 PCI buses)
-being here, remove the per-VID/DID matching code which was commented
 out for a while
2000-05-11 16:44:14 +00:00
jdolecek
8fedbd8497 Add i386-specific part of MicroChannel Architecture bus support, as
found in some older IBM PS/2 machines.

This code is based upon work by Scott D. Telford, with some minor bits
in arch/i386/mca/mca_machdep.c taken from FreeBSD.

XXX this is still very experimental and development version; use at your
XXX own risk
2000-05-11 16:38:10 +00:00
jdolecek
6c1643be43 minor adjustment for compiling with IBM_L40 2000-05-11 16:11:54 +00:00
jdolecek
98beeaa61d add commented out CPPFLAGS+= -DIBM_L40 - needed for PS/2 bootblocks 2000-05-11 16:05:51 +00:00
jhawk
2d2ad4f3e8 fix cosmetic brain-oh in last; s/attachonly/matchonly/g 2000-05-11 15:26:23 +00:00
jhawk
a2606dbe80 Address PR#10042: instead of getting the dynamic configuration
all the time (which crashes some vaios), get the static configuration,
and if config_search() finds a node, then do the dynamic configuration.
This seems to work fine on multiple vaios (which seem to crash
in different places...go figure).

Also, bring prototypes in-line with KNF and declare static as appropriate.

"#if 0" out pnpbios_getapmtable() and pnpbios_setnode() as they
are not called.

Fix printf()s to print out dv_xname.

Fix a comment typo.

Use manifest constants (PNP_CF_DEVCONF_DYNAMIC, etc.) in calls to
pnpbios_getnode() instead of hardcoded constants.
2000-05-11 05:54:49 +00:00
hubertf
9f48bba3ae Add "install" target, so "make install" after building the kernel
does something useful.  The target can be redefined by putting a
install-kernel-${MACHINE_NAME} target that fits your needs into
/etc/mk.conf.
2000-05-09 00:56:21 +00:00
thorpej
6a33c86623 HAVE_GCC28 -> HAVE_EGCS, and make it match gcc 2.9 as well. Also,
make the use of -Wno-uninitialized explicit, don't rely on a compiler
hack to do it for us.
2000-05-09 00:32:19 +00:00
hubertf
30be57ab7b Disable DDB_ONPANIC=0. A plain reboot in case of problems isn't really
helpful at install times, regarding diagnostics.
2000-05-09 00:28:22 +00:00
joda
89ef6f9a91 add viaenv template 2000-05-08 18:41:26 +00:00
thorpej
d611fd596a Use vprintf() rather than the non-standard %: format. 2000-05-08 18:22:29 +00:00
joda
827056c9c3 add entry for viaenv 2000-05-08 16:42:36 +00:00
augustss
3a6e3a4670 Add (sometimes commented out) MIIVERBOSE option. 2000-05-08 13:49:44 +00:00
fvdl
5ebece6b49 Use ES to address the partition table when checking if we need to use
int13 extensions. Fixes PR 9676.
2000-05-07 22:58:58 +00:00
veego
701eaba273 add the #71 NODEV entry for bktr to the chrtoblktbl list. 2000-05-07 08:32:50 +00:00
wiz
784bcfd6ba add bktr device 2000-05-07 00:41:06 +00:00
thorpej
b193ffa77c Use __GNUC_PREREQ__(). 2000-05-05 00:20:22 +00:00
jhawk
c82c8655cf Add comment suggesting s/com[0-9]/com*/ and s/lpt0/lpt*/
if you enable com*/lpt* at pnpbios0, to avoid attaching
com0 as com3.
Don't actually change the "com0 at isa" line, since doing so
would cause some com* (e.g. pcmcia) to be renumbered from com3
to something lower, at least on some systems.
2000-05-04 19:41:44 +00:00
thorpej
d3d81e3ad6 Make varargs and stdarg work with GCC 2.96 and later. 2000-05-03 21:54:06 +00:00
mycroft
468985f608 Adjust asm statement for newer GCCs. 2000-05-03 21:32:59 +00:00
mycroft
f73803d1ce Fix printf() format. 2000-05-03 20:17:37 +00:00
mycroft
3afc302a93 ctob() -> ptoa(), to fix sign-extension issues when using >2GB. A more
comprehensive change will be necessary for >4GB, but that's a bigger issue.
2000-05-03 20:02:08 +00:00
augustss
9f9f06401c Add (commented out) cms(4) driver. 2000-05-02 11:00:56 +00:00
thorpej
855b79db92 Let each platform typedef the new __cpu_simple_lock_t, which should
be the most efficient type used for the atomic operations in the
simplelock structure, and should also be __volatile.
2000-05-02 04:41:04 +00:00
augustss
4a30060c43 Add C-Media CMI8x38, cmpci. 2000-04-30 22:00:54 +00:00
dante
d7592a72fe Update comment in adw* 2000-04-30 19:08:19 +00:00