37567 Commits

Author SHA1 Message Date
alfred
3d1537da2b fix warnings 2003-01-26 23:25:00 +00:00
keramida
9cbc412d18 Fix a typo and reword a bit the description of the new SCHED_xxx stuff.
Reviewed by:	jeff
2003-01-26 22:26:46 +00:00
phk
f71e2dab31 Implement DIOCBSDBB ioctl which overwrites first BBSIZE bytes of BSD
labeled disk.

This is complicated by the fact that BBSIZE is greater than the
PAGE_SIZE limit ioctl inflicts on arguments which are automatically
copied in.

As long as we don't need access to userland memory (copyin/out) we
can deal with the ioctl using g_callme() which executes it from the
GEOM event thread.

Once we need copyin/out, we need to return the bio with EDIRIOCTL
in order to make geom_dev call us back in the original process context
where copyin will work.

Unfortunately, that results in us getting called with Giant, so
we have to DROP_GIANT/PICKUP_GIANT around the code where we diddle
GEOMs internals.

Sometimes you just can't win...

... But it does make geom_bsd.c an almost complete example of the
GEOM beastiarium.
2003-01-26 21:54:36 +00:00
phk
0d45de23ba Add ioctl which overwrites the first BBSIZE bytes of a BSD labeled disk. 2003-01-26 21:49:44 +00:00
julian
3f4ea4a408 Fix KSE related patch.
Make it compile for the SMP case..
statclock_process() has changed prototypes.
2003-01-26 21:32:08 +00:00
alfred
163b20e25f regen 2003-01-26 20:10:35 +00:00
alfred
1cd571649a Add const qualifier to data argument for msgsnd.
PR: standards/45274
Submitted by: Craig Rodrigues <rodrigc@attbi.com>
2003-01-26 20:09:34 +00:00
phk
19a663e554 Put DIOCWLABEL under #ifdef NO_GEOM 2003-01-26 19:43:18 +00:00
simokawa
d3dc53e828 - Split db.desc.cmd into desc.control and desc.reqcount.
- remove unncessary descriptor updates.
2003-01-26 18:38:06 +00:00
simokawa
376bd949e0 - Improve IT/IR DMA queue management.
- Improve debug message for mbuf handling.
- Wait 1 sec for DMA stop in fwohci_i{t,r}x_disable() before freeing buffers.
2003-01-26 15:39:04 +00:00
phk
f48c20899a Link /boot/boot1 to the name /boot/boot to avoid per-arch naming of the
bootstrap code for disklabel using architectures.
2003-01-26 14:32:53 +00:00
phk
9aa3b3c3f7 Build a file "boot" which consists of boot1 and boot2 concatenated.
There is little if any reason to treat the two components separately
and it will simplify disklabel(8) and libdisk if we didn't.
2003-01-26 13:33:57 +00:00
phk
a3f942c75e This file is no longer needed.
Spotted by:	tjr
2003-01-26 13:08:49 +00:00
davidxu
4b9b549ca2 Move UPCALL related data structure out of kse, introduce a new
data structure called kse_upcall to manage UPCALL. All KSE binding
and loaning code are gone.

A thread owns an upcall can collect all completed syscall contexts in
its ksegrp, turn itself into UPCALL mode, and takes those contexts back
to userland. Any thread without upcall structure has to export their
contexts and exit at user boundary.

Any thread running in user mode owns an upcall structure, when it enters
kernel, if the kse mailbox's current thread pointer is not NULL, then
when the thread is blocked in kernel, a new UPCALL thread is created and
the upcall structure is transfered to the new UPCALL thread. if the kse
mailbox's current thread pointer is NULL, then when a thread is blocked
in kernel, no UPCALL thread will be created.

Each upcall always has an owner thread. Userland can remove an upcall by
calling kse_exit, when all upcalls in ksegrp are removed, the group is
atomatically shutdown. An upcall owner thread also exits when process is
in exiting state. when an owner thread exits, the upcall it owns is also
removed.

KSE is a pure scheduler entity. it represents a virtual cpu. when a thread
is running, it always has a KSE associated with it. scheduler is free to
assign a KSE to thread according thread priority, if thread priority is changed,
KSE can be moved from one thread to another.

When a ksegrp is created, there is always N KSEs created in the group. the
N is the number of physical cpu in the current system. This makes it is
possible that even an userland UTS is single CPU safe, threads in kernel still
can execute on different cpu in parallel. Userland calls kse_create to add more
upcall structures into ksegrp to increase concurrent in userland itself, kernel
is not restricted by number of upcalls userland provides.

The code hasn't been tested under SMP by author due to lack of hardware.

Reviewed by: julian
2003-01-26 11:41:35 +00:00
phk
a74140ae02 Put use of DIOCWLABEL under #ifdef NO_GEOM 2003-01-26 11:28:56 +00:00
jeff
e7887da8bd - Remove a redundant scheduler option.
Pointy hat to:	jeff
Spotted by:	dillon
2003-01-26 06:37:43 +00:00
jeff
4969ed6392 - Add entries for scheduler selection 2003-01-26 05:35:54 +00:00
jeff
8d3838b535 - Introduce the SCHED_ULE and SCHED_4BSD options for compile time selection
of the scheduler.
 - Add SCHED_4BSD as the scheduler for all kernel config files in cvs.
2003-01-26 05:29:12 +00:00
jeff
f8d3c4423d - Add the ule scheduler. This is intended to be a general purpose process
scheduler with many SMP benefits.  It is still very experimental and should
   be used only in test environments.
2003-01-26 05:23:15 +00:00
orion
bbd4e95744 Disable DRA to fix problems with recording. 2003-01-26 04:23:23 +00:00
jeff
7e4b46c64e - Call sched_sleep() instead of rolling our own in cv_waitq_add(). 2003-01-26 04:00:39 +00:00
jake
729d6018c5 Merge some code paths back together so that we only instantiate 1 copy of
the user tlb fault handlers.
2003-01-26 03:38:30 +00:00
jake
2215fbe46c Allow defaulting the console to ttya when it sets to screen and keyboard
in the prom but no keyboard is plugged in.
2003-01-26 01:56:20 +00:00
silby
d707debfda Merge the best parts of maxfragpackets and maxnipq together. (Both
functions implemented approximately the same limits on fragment memory
usage, but in different fashions.)

End user visible changes:
- Fragment reassembly queues are freed in a FIFO manner when maxfragpackets
  has been reached, rather than all reassembly stopping.

MFC after: 	5 days
2003-01-26 01:44:05 +00:00
imp
c9c03276cc Add INTEL EEPRO100
Submitted by: joerg
2003-01-25 23:18:01 +00:00
silby
5eab66f151 Remove some unnecessary casts. 2003-01-25 22:41:22 +00:00
alfred
07bd7704bc regen 2003-01-25 21:34:07 +00:00
alfred
28e8e60e36 Bring shm functions closer the the opengroup standards.
PR: 47469
Submitted by: Craig Rodrigues <rodrigc@attbi.com>
2003-01-25 21:33:05 +00:00
alfred
918ae76f60 regen. 2003-01-25 21:30:08 +00:00
alfred
cea829ec35 Bring semop() closer the the opengroup standards.
PR: 47471
Submitted by: Craig Rodrigues <rodrigc@attbi.com>
2003-01-25 21:27:37 +00:00
alc
1340379168 Add MTX_DUPOK to the initialization of system map locks. 2003-01-25 18:45:55 +00:00
orion
fa9bb7ba2f Add ac97_patch.[ch] that provide space for ac97 codec specific patches. 2003-01-25 16:54:05 +00:00
simokawa
ea028a97ec Change API of FW_GDEVLST ioctl.
- include information about itself.
- define struct fw_devinfo and use it in struct fw_devlstreq.
- unify EUI64 representation using struct fw_eui64.
2003-01-25 14:47:33 +00:00
phk
bd84d01eea Add sysctl kern.timecounter.nsetclock which indicates the number of
potential discontinuities in our UTC timescale.

Applications can monitor this variable if they want to be informed
about steps in the timescale.  Slews (ntp and adjtime(2)) and
frequency adjustments (ntp) will not increment this counter, only
operations which set the clock.  No attempt is made to classify
size or direction of the step.
2003-01-25 07:51:09 +00:00
jake
980d4f44b4 Moved some (gas) macros up so they can be used in more places. 2003-01-24 23:47:46 +00:00
hsu
2d948f2956 Remove extraneous FILEDESC_LOCKs around atomic reads.
Reviewed by:	jhb
2003-01-24 22:49:52 +00:00
simokawa
0a0fee3fac Remove FW_SSTDV ioctl. It is not used anymore. 2003-01-24 13:03:19 +00:00
simokawa
14df48f995 Merge little and big endian case. 2003-01-24 12:45:19 +00:00
dfr
e15ccd7613 Fix pmap_extract so that it doesn't panic if the user types
'cat /proc/pid/map'

Submitted by: Arun Sharma <arun.sharma@intel.com>
2003-01-24 09:58:32 +00:00
mux
40a28ce162 Remove the now unused sys/malloc.h header. 2003-01-24 02:42:22 +00:00
fjoe
fc2f60400f - add support for IPX (tested with mount -t nwfs and mars_nwe),
IP fast forwarding, SIOCGIFADDR, setting hardware address (not currently
enabled in cm driver), multicasts (experimental)
- add ARC_MAX_DATA, use IF_HANDOFF, remove arc_sprintf() and some unused
variables
- if_simloop logic is made more similar to ethernet
- drop not ours packets early (if we are not in promiscous mode)

Submitted by:	mark tinguely (partially)
2003-01-24 01:32:20 +00:00
mdodd
dee3b611a1 - The 'aux' field isn't around any longer.
- Add missing splnet()/splx()
2003-01-24 00:37:10 +00:00
fjoe
33478b2ceb add forgotten IFA_LOCK_INIT 2003-01-23 23:36:45 +00:00
njl
d4b439a000 More useful announce message containing current speed of CPU 2003-01-23 22:18:14 +00:00
njl
6b1934225b Remove redundant printf from targbhasync() since all places that return an
error do their own, more useful printf.
2003-01-23 21:55:12 +00:00
simokawa
b4946c8e83 - Add sysctl knob for bus manager. (hw.firewire.try_bmr)
- Check invalid SID length.
- Add some debug messages.
2003-01-23 13:34:40 +00:00
peter
c2d8833e2d Clean up some junk defines, and GC the TPR options. 2003-01-23 01:04:27 +00:00
peter
77bd829d9f Nuke CHEAP_TPR stuff, including LOPRIO_LEVEL (bogus) and ALLHWI_LEVEL
(which we never used).  There is no need to tweak the TPR anymore and
only causes problems.
2003-01-23 01:03:34 +00:00
scottl
062887dc66 Hack around a bug in the 2200 and 2120 controllers that connot DMA
commands from below the first 8K of physical memory.  A better fix
is to modify the busdma api to allow either inclusion ranges or
multiple exclusion ranges, but that debate is for another day.

MFC After:	2 days
2003-01-23 01:01:44 +00:00
peter
521e2f4ce6 Now that TPR isn't bogusly raised at boot, there is no need to clear
it at context switch.
2003-01-23 01:01:35 +00:00