Commit Graph

4339 Commits

Author SHA1 Message Date
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