mycroft
a7889f8229
Whoops. Previous change was not correct.
2000-12-12 20:30:12 +00:00
mycroft
2c7eaf2b50
Minor code rearrangement.
2000-12-12 20:22:49 +00:00
mycroft
0175db6e40
#ifdef KTRACE some stuff.
2000-12-12 03:33:16 +00:00
onoe
9c25e9208a
Port 'an' driver for Aironet PC4500/PC4800 IEEE802.11 card from FreeBSD.
...
This is very adhoc work for IETF meeting.
- Since it seems that 'an' and 'wi' have similar hardware, low level
functions should be shared.
- There are PCI/ISA cards of Aironet but not supported yet.
- The wiconfig interface is changed so that wiconfig cannot be used.
- 'ancontrol' of FreeBSD is not ported.
- Only infrastructure mode is tested.
- WEP is not supported.
Though I only have an Aironet card, Cisco card should be expected to work.
2000-12-11 23:16:50 +00:00
mycroft
9a8fbe25bc
Handle the VM86-mode syscall problem by changing the syscall vector when
...
jumping in or out of VM86 mode.
2000-12-11 17:36:03 +00:00
mycroft
1ef2795be9
Separate the syscall handlers into two versions -- one which does ktrace, and
...
one which doesn't. Dynamically switch.
There's more to do on this, but I have to go to work.
2000-12-11 16:49:15 +00:00
tron
d0de1ec852
Protect against multiple inclusion.
2000-12-11 11:39:06 +00:00
tron
c6cdb692f3
Include "machine/frame.h" to avoid lint errors while building "libc".
2000-12-11 10:22:55 +00:00
mycroft
e6d33b69ec
Nuke reference to trace.h.
2000-12-11 05:41:06 +00:00
mycroft
0f17615da7
There is no Berkeley code in any of these files.
2000-12-11 05:37:01 +00:00
mycroft
f495cd9dc6
Introduce 2 new flags in types.h:
...
* __HAVE_SYSCALL_INTERN. If this is defined, e_syscall is replaced by
e_syscall_intern, which is called at key places in the kernel. This can be
used to set a MD syscall handler pointer. This obsoletes and replaces the
*_HAS_SEPARATED_SYSCALL flags.
* __HAVE_MINIMAL_EMUL. If this is defined, certain (deprecated) elements in
struct emul are omitted.
2000-12-11 05:28:59 +00:00
mycroft
6a4dfe5f24
Slight tweak.
2000-12-11 02:48:07 +00:00
mycroft
66610a4779
Introduce PROC_PC(), which is used to get a process's user PC. If this is
...
defined, call addupc_intr() directly from statclock() in the system time case,
using the same P_OWEUPC path if the copyin/copyout fails.
Use this in i386 to remove profiling code from the normal userret() path.
2000-12-10 19:29:30 +00:00
jdolecek
8ca533ee5b
since this is now standalone and not called via syscall(), we need to
...
update statistics and set p->p_md.md_regs accordingly here
do the errno translation uncoditionally
2000-12-10 12:23:50 +00:00
jdolecek
603884ff22
syscall(): no emulation using this needs errno mapping, G/C the code
2000-12-10 12:09:59 +00:00
jdolecek
44d7fef20a
make locore.s call emulation-specific syscall code directly
...
this should improve speed of emulation syscall path (avoids one function call,
and emulations syscall can use the trapframe trick)
Idea: Charles Hannum
2000-12-09 13:20:04 +00:00
jdolecek
6f0fceeb1d
the call to emulation-specific syscall function will be handled differently,
...
don't do it explicitly
2000-12-09 12:57:17 +00:00
jdolecek
87a6bee3a9
prototype ibcs2_syscall() in compat/ibcs2/ibcs2_exec.c
2000-12-09 12:45:44 +00:00
jdolecek
8f9b01eba1
prototype svr4_syscall() (only) in compat/svr4/svr4_exec.c
2000-12-09 12:44:26 +00:00
jdolecek
45144cbd17
put userret() into header file machine/userret.h and pull it where needed
2000-12-09 11:21:52 +00:00
mycroft
b2052e5951
GC garbage in userret() and *_syscall().
2000-12-09 06:34:07 +00:00
mycroft
afc49e36eb
Set md_regs before call the alternate syscall handler.
...
Remove the EMUL_HAS_SYS___syscall test, because the handler is no longer shared
with SVR4.
Rather than comparing with e_nsysent, just mask the value. This is only done
to protect us from malicious programs anyway.
2000-12-09 06:33:15 +00:00
mycroft
3340782619
Add a separate svr4_syscall().
2000-12-09 06:30:54 +00:00
mycroft
7a70c438c8
Couple more tweaks to eliminate unnecessary cycles.
2000-12-09 02:46:17 +00:00
mycroft
57fdd67be5
Do the resched check *only* on an AST.
...
Also, there is no reason to save the original PC; there are no restartable
syscalls that change the PC -- and even if there were, they wouldn't do it
in the restart case.
2000-12-09 02:18:16 +00:00
mycroft
5415a63e13
Rework the way the nested task and trace flags are handled when entering the
...
old (lcall) syscall gate. This speeds up that path a little.
2000-12-08 23:14:04 +00:00
mycroft
985a81f23b
GC unneeded code.
2000-12-08 22:32:09 +00:00
thorpej
55ecab37a0
Fix a silly MP race condition introduced in the previous.
2000-12-07 21:53:46 +00:00
thorpej
ac083d0b74
Use a pool cache for PDPs. This results in a 20% improvement in a
...
loop of 10000 fork/exit operations on a 400MHz Celeron.
2000-12-07 20:19:05 +00:00
thorpej
0abaa8b70d
Nothing calls pmap_release() except for pmap_destroy(). Merge the two.
2000-12-07 17:12:21 +00:00
thorpej
b4b01fe8e6
Nothing calls pmap_pinit() except for pmap_create(), so merge the two.
2000-12-07 17:09:26 +00:00
chs
4fa4734937
go back to the first version of the pte/pde dance now that kvtopte()
...
has been changed to consisently return a pointer into the recursive
page table mapping.
2000-12-06 03:20:35 +00:00
chs
2a95fc3517
in kvtopte(), return the mapping of the pde in the recursive page-table
...
mapping space rather than the mapping in the kernel address space.
2000-12-06 03:13:47 +00:00
jdolecek
94e024dc14
constify
2000-12-05 10:45:09 +00:00
jdolecek
dae7d6d77c
actually, pte is normally in user address space, but can also be in kernel
...
address space for LARGEPAGES kernel; to handle both, do the same dance
as for loc
2000-12-05 10:26:12 +00:00
ad
f237da87bf
Hook the iop device in.
2000-12-03 13:19:07 +00:00
jdolecek
2b0dca1878
db_disasm(): pte is in kernel address space, so use kvtopte() to get pde,
...
otherwise it would trip over KASSERT() in vtopte() and cycle
2000-12-02 19:34:54 +00:00
jdolecek
e9b63338d7
add prototype for ibcs2_syscall()
2000-12-02 16:13:34 +00:00
jdolecek
65203b4ec6
if IBCS2_MACHDEP_HAS_SEPARATED_SYSCALL is defined, put ibcs2_syscall to
...
emul_ibcs2
define IBCS2_MACHDEP_HAS_SEPARATED_SYSCALL in i386 ibcs2_machdep.h
2000-12-02 16:09:44 +00:00
jdolecek
6719ee1cf7
as discussed on tech-kern, put linux and ibcs2 syscall code to separate
...
files and change syscall() to call p->p_emul->e_syscall() if it's not NULL
2000-12-02 16:03:23 +00:00
soren
ff0f7c1ab4
No longer used.
2000-12-01 07:56:18 +00:00
soren
2cc519bba5
<pc/display.h> has been moved to <dev/ic/pcdisplay.h>.
2000-12-01 07:55:10 +00:00
jdolecek
73f3cd8c7e
LKMify
2000-11-29 21:51:49 +00:00
aymeric
5deecf29d2
Fall back to previous memory segments detection code if BIOS reports no
...
correct memory segment.
This prevents some systems from losing with `can't find end of memory'.
Discussed with Bill Sommerfeld.
2000-11-29 09:56:02 +00:00
augustss
f9450fa993
Put neo* in alphabetical position.
2000-11-28 19:44:07 +00:00
thorpej
3f877e127e
Add auich(4) and neo(4).
2000-11-28 05:18:42 +00:00
soren
66864e1f05
Removed increased BUFCACHE/BUFPAGES.
2000-11-27 08:55:41 +00:00
jdolecek
cee3939088
comment out entries accidentaly committed together with previous
...
change
2000-11-26 20:48:39 +00:00
ad
57ea462da2
lsu -> ld, by popular request.
2000-11-26 17:44:02 +00:00
jdolecek
bc435e5551
rename COMPAT_locore.s to COMPAT_sigcode.s - that is more suitable name for it
...
make the files compilable within LKM
2000-11-26 11:18:20 +00:00
takemura
3c9d9276dc
Add new powerhook argument values, PWR_SOFTSUSPEND, PWR_SOFTSTANDBY and
...
PWR_SOFTRESUME. Apm calls powerhook with the values in normal interrupt
priority level while others are protected with splhigh().
2000-11-26 11:08:57 +00:00
itojun
c40695f5ad
a complete kernel for wildlab LAMB, http://www.wildlab.com/ .
2000-11-26 03:28:41 +00:00
chs
fa19fe52db
adjust the spinlock macros in the non-MULTIPROCESSOR, non-LOCKDEBUG case
...
so that gcc will think that static spinlock are used.
this allows us to remove the ugly conditionalization of
static spinlock declarations.
2000-11-24 03:59:07 +00:00
chs
c01c2504a2
examine the PDE in addition to the PTE when checking for valid mappings.
2000-11-23 21:44:52 +00:00
jdolecek
818062390e
Intel recommends to print cpu serial number as six dash-separated nibbles
...
(XXXX-XXXX-XXXX-XXXX-XXXX-XXXX), make it so
2000-11-22 16:41:56 +00:00
jdolecek
09c6390523
make trap_type[] const
2000-11-21 21:27:04 +00:00
jdolecek
3323852a95
put compat-specific locore code to separate *_locore.s files
2000-11-21 21:13:23 +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
jdolecek
0630488eda
fix typo
2000-11-20 20:07:36 +00:00
jdolecek
3b15e411a3
add moxa0 at isa entry, marked as experimental
...
This was not added also to other config files primarily because the
driver is not properly tested yet; this entry is primarily meant as an example
for those brave souls who want to try moxa.
2000-11-20 19:53:43 +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
soren
046ce58634
Enable com at cardbus.
2000-11-20 02:00:46 +00:00
jdolecek
2faa9db8c1
cosmetic change in brand string handling (NULL vs. "")
...
drop Xeon from PIII Cascades entry, it should be handled by the brand id
support (pointed out by Scott Telford in private e-mail).
2000-11-19 23:38:22 +00:00
lukem
a687c7deac
pull up stuff changed in GENERIC from 1.370 - 1.377, appropriately
...
commented out if it's not relevant to a laptop
2000-11-18 02:08:30 +00:00
jdolecek
97669de104
make i386_nocpuid_cpus[] and i386_cpuid_cpus[] const - this pushes
...
another ~1.4KB to text section
2000-11-16 17:00:17 +00:00
jdolecek
def6d1b4ac
Newer Intel PIII processors also make available Brand ID value through
...
cpuid instruction, which is used to differentiate between Celeron, common PIII
and PIII Xeon; recognize it and print appropriate info if applicable
Information taken from Intel's (R)
Intel Processor Identification and the CPUID Instruction, AP-485
2000-11-16 10:19:02 +00:00
jdolecek
a9ad986a90
Update cpuid table according to information sent by Scott Telford
...
in port-i386/11502, with only sligh change for Coppermine entry -
cpus with family 6, model 8 are not all Celerons, they can be
either common PIII, Xeon or Celeron
2000-11-16 09:06:17 +00:00
jdolecek
ea9f7ed6d5
introduce SIGACTION_PS() macro - this is similar to SIGACTION(), but works
...
for (struct sigacts *) instead of (struct proc *)
2000-11-15 21:13:58 +00:00
thorpej
9298fd52fc
Garbage-collect some more stuff.
2000-11-15 19:30:10 +00:00
enami
038ca0a146
Make isa_machdep.c compile again.
2000-11-15 02:00:31 +00:00
enami
1ef516e9be
Pull in uvm_extern for PAGE_SIZE.
2000-11-15 01:59:35 +00:00
thorpej
990d23039d
NBPG -> PAGE_SIZE.
2000-11-14 22:55:51 +00:00
thorpej
ec0069dd37
NBPG -> PAGE_SIZE
2000-11-14 22:55:05 +00:00
augustss
eb9736c09a
Add uscanner.
2000-11-14 19:52:04 +00:00
thorpej
10b31e1ebc
The i386 page size is fixed -- override PAGE_SIZE, et al, so that they
...
are compile-time constants.
2000-11-14 18:01:54 +00:00
jdolecek
ec93c3dd25
when evaluating CPU speed, make the wait 0.1s instead of 1s - the accuracy
...
difference is like 0.008% on my system and the delay is now almost unnoticable:)
Discussed with Jason Thorpe, Frank van den Linden.
2000-11-13 16:40:40 +00:00
enami
ce78591ae1
Cometic change; keep the code to process a second hunk closer to the first one.
2000-11-10 04:00:25 +00:00
enami
390c8adfbc
Don't start next iteration while processing a first memory hunk since
...
there may be a second hunk.
2000-11-10 03:58:15 +00:00
christos
0cf0dd1b80
put the suggestion message in uvm_page.c. There could be other reasons
...
why we are not able to find the end of memory.
2000-11-09 19:22:30 +00:00
kim
534a2fa4bb
BIOS memory loading messages can be enabled with DEBUG_MEMLOAD.
...
Increase VM_PHYSSEG_MAX from 3 to 5 to avoid a panic. Suggest
increasing VM_PHYSSEG_MAX in the panic message.
2000-11-09 17:34:51 +00:00
ad
33c21c5f16
Sort.
2000-11-08 21:47:25 +00:00
ad
36e51ea5c5
Add I2O stuff.
2000-11-08 19:50:07 +00:00
ad
e6be92ad99
Pull in dev/i2o/files.i2o.
2000-11-08 19:48:51 +00:00
thorpej
5929990d15
Add `bktr'.
2000-11-07 06:02:24 +00:00
augustss
a00e309252
Fix speeling in cooment.
2000-11-06 22:10:03 +00:00
augustss
83bdca3a71
Print a newline after the random number speed message.
2000-11-06 22:01:31 +00:00
thorpej
c60d6ae15b
Machine pmc.h
2000-11-05 22:28:00 +00:00
thorpej
fa03f6e74d
If we have a working cycle counter, compute the number of CPU
...
cycles in a second, and print the CPU speed.
Derived from similar code in FreeBSD.
2000-11-05 22:10:01 +00:00
onoe
e83458422f
First Prototype implementation of network interface part for IEEE1394 (if_fw).
...
Current status:
Only OHCI chip is supported (fwohci).
ping (IPv4) works with Sony's implementation (SmartConnect) on Win98.
sometimes works but not stable.
Not implemented yet:
IRM (Isochronous Resource Manager) functionality.
Link layer fragmentation.
Topology map.
More to do:
clean ups
MCAP
charactor device part
dhcp
There is no entry in GENERIC config file yet.
Follow sys/dev/ieee1394/IMPLEMENTATION to enable if_fw.
2000-11-05 17:17:12 +00:00
thorpej
584c0d1319
Use <dev/sysmon/sysmonconf.h>
2000-11-05 04:08:48 +00:00
thorpej
f6099127b7
DELPHI -- one of my devel machines at Zembu Labs. This is an
...
example of how to configure the PC-Weasel driver into the kernel.
2000-11-05 03:51:14 +00:00
ad
3d193b190b
- Pequr -> Serverworks. It pays to do a cvs update first...
...
- Pay attention only to the low byte of config reg 0x44 on Serverworks chips,
as Linux does.
- Compress duplicatated code.
2000-11-03 17:28:02 +00:00
thorpej
7c2615290b
Add support for MS-DOS file system, but don't enable it by
...
default -- the resulting binary is too large, and thus does
not work.
2000-11-02 01:02:07 +00:00
eeh
8c3f6a0d10
Adapt to new line discipline scheme.
2000-11-02 00:37:56 +00:00
mycroft
9572bf6261
These are incredibly out of date.
2000-11-01 07:58:42 +00:00
fvdl
69e9b0392f
Sync INSTALL with GENERIC and INSTALL_LAPTOP with GENERIC_LAPTOP with
...
regard to wireless network interfaces and pcic iomem size (i.e.
bump iomem to 0x1000 and enable cnw, awi and ray).
2000-10-31 15:54:50 +00:00
lukem
b14a596beb
Add support for booting off RAIDframe RAID1 mirrors. Check the first partition
...
type in biosdiskopen(), and if it is of type FS_RAID, add 64 to d->b_off.
NOTE: installboot(8) still needs some hacking to DTRT, but at least this way
if you can load "/boot" off another partition (e.g, wd0h), then wd0a can be
of type `RAID' with a raidframe mirror at the start and the kernel
will load OK of wd0a, and with raidctl -A root partitions, it will change
root as well.
2000-10-30 07:30:59 +00:00
thorpej
10203d4eca
Change the RNG callout -- don't spin until data is available. If
...
none is available, just wait until the next clock tick.
2000-10-30 00:26:04 +00:00
simonb
bb33bb331d
Fix NRND == 0 case (unused variable).
2000-10-28 13:30:35 +00:00
itojun
5bbd7d495e
fix busy-wait logic against random number register. (missing semicolon)
2000-10-28 04:58:35 +00:00