Commit Graph

5990 Commits

Author SHA1 Message Date
fvdl
f28dd1acef s/i386_isa_chipset/x86_isa_chipset/, it's defined on multiple ports, but
used in shared code.
2003-03-04 01:06:38 +00:00
fvdl
5d9be5f0db The IDT only contains gate descriptors, so define it as such. 2003-03-03 22:14:15 +00:00
fvdl
1b64bc0ae7 define pmap_cpu_has_pg_n and pmap_cpu_has_invlpg to make code sharing
easier.
2003-03-03 22:13:16 +00:00
fvdl
3ebdf8bcc3 Make CVAR asm reference macro CVAROFF, taking an offset. 2003-03-03 22:12:22 +00:00
christos
767bfa5fb6 microtime.S depends on assym.h 2003-03-02 22:19:05 +00:00
tshiozak
31e2cbf0b5 add some ISO C 1995 I18N functions and types:
btowc, wctrans, towctrans, wcscoll, wcsxfrm, wctype_t and wctrans_t.
2003-03-02 22:18:11 +00:00
fvdl
8d69f823b1 Redirect to x86/ 2003-03-02 18:09:42 +00:00
fvdl
f555536d9b Move lock_machdep.c to arch/x86/x86. 2003-03-01 22:53:39 +00:00
fvdl
aeaf29a3a3 Redirect to x86/cpuvar.h 2003-03-01 18:30:03 +00:00
fvdl
a3b7772adf Move the CPU identification out of machdep.c into a seperate file. 2003-03-01 16:37:51 +00:00
fvdl
de9139c67d Follow the spec more closely, and do an ljmp immediately after enabling
protected mode, not several instructions afterwards.
2003-03-01 16:36:37 +00:00
fvdl
dbef38adbf This was still falsely referencing the ipending variable, which isn't
used anymore. Use curcpu()->ci_ipending (== cpu_info_primary.ci_pending,
since this is only used in the UP case).
2003-03-01 16:35:07 +00:00
perseant
eab869e1c0 Make BRIDGE_IPF an option, and document it. Add it (commented) to GENERIC.
Let brconfig tell whether the bridge is using the ipfilter hook, or not.
2003-02-27 19:22:36 +00:00
hannken
c03626b07b Change "i386_trunc_page" to "x86_trunc_page". 2003-02-27 12:22:52 +00:00
fvdl
ba3f3ceb24 Catch up with consinit.c move. 2003-02-27 01:49:29 +00:00
fvdl
10648a4e04 Moved to x86/x86 2003-02-27 01:48:44 +00:00
fvdl
d89d6b98f7 Catch up with isa_machdep.c and pci_machdep.c move. 2003-02-27 00:39:40 +00:00
fvdl
b7b9aa9909 Moved to x86/pci. 2003-02-27 00:30:21 +00:00
fvdl
2c7dd6813f Moved to x86/isa. 2003-02-27 00:27:54 +00:00
fvdl
c0ed70b13c Adapt for move to x86/include. 2003-02-27 00:12:21 +00:00
fvdl
ab4edb55ec Adapt for i386/x86 change. 2003-02-26 22:21:19 +00:00
fvdl
f720949c2c Adapt for move of files to arch/x86. 2003-02-26 21:33:36 +00:00
fvdl
a33bcafdf1 Redirect some includes to x86/foo.h 2003-02-26 21:28:59 +00:00
fvdl
cffd488563 Adapt for move of files to arch/x86. 2003-02-26 21:28:20 +00:00
dsl
9474297c7f Clear 'big' bit of segment registers before returning to real mode. 2003-02-25 11:17:36 +00:00
dsl
4552b31f45 Clear 'big' bit of descriptors (%ss in particular) before switching to
16bit mode.  Otherwise the 32bit %esp and (probably) %ebp are used for
stack accesses.  (stupid cpu design!)
(approved by christos)
2003-02-24 23:23:14 +00:00
simonb
a5781fdcdf Add LFS support for i386. Tested with a "newfs_lfs -A -O 256" root
filesystem.
2003-02-23 23:25:50 +00:00
atatat
860ed88533 #include opt_uvm.h in machine/vmparam.h (for those ports offering the
topdown option) so that including it directly before including
uvm/uvm_param.h (or uvm/uvm_extern.h which includes uvm/uvm_param.h)
and attempting to use topdown won't result in a compiler error.

Problem noted in private email.
2003-02-23 19:13:43 +00:00
fvdl
11e36a204f For x86_64, split the bootinfo memory entry words to avoid growth of the
structure due to alignment.
2003-02-23 02:45:44 +00:00
atatat
df0a9badc6 Introduce "top down" memory management for mmap()ed allocations. This
means that the dynamic linker gets mapped in at the top of available
user virtual memory (typically just below the stack), shared libraries
get mapped downwards from that point, and calls to mmap() that don't
specify a preferred address will get mapped in below those.

This means that the heap and the mmap()ed allocations will grow
towards each other, allowing one or the other to grow larger than
before.  Previously, the heap was limited to MAXDSIZ by the placement
of the dynamic linker (and the process's rlimits) and the space
available to mmap was hobbled by this reservation.

This is currently only enabled via an *option* for the i386 platform
(though other platforms are expected to follow).  Add "options
USE_TOPDOWN_VM" to your kernel config file, rerun config, and rebuild
your kernel to take advantage of this.

Note that the pmap_prefer() interface has not yet been modified to
play nicely with this, so those platforms require a bit more work
(most notably the sparc) before they can use this new memory
arrangement.

This change also introduces a VM_DEFAULT_ADDRESS() macro that picks
the appropriate default address based on the size of the allocation or
the size of the process's text segment accordingly.  Several drivers
and the SYSV SHM address assignment were changed to use this instead
of each one picking their own "default".
2003-02-20 22:16:05 +00:00
simonb
b7f4f30f48 Revert previous (in line with <i386/mtrr.h> reversion). 2003-02-19 05:38:58 +00:00
gson
d3fce65758 Reserve the I/O ports used by the CRT controller to keep them from
being allocated for other purposes such as PCMCIA I/O space.  Fixes
port-i386/5177.
2003-02-19 04:07:56 +00:00
fvdl
807c14b1f2 Undo constification of mtrr_funcs. I'll deal with it later. 2003-02-19 00:18:34 +00:00
fvdl
f2ef2f16fa Revert previous. This file is also used on x86_64, you see. 2003-02-19 00:15:19 +00:00
jdolecek
d2309c1fda add file-system SMBFS and pseudo-device nsmb, uncommented, marked as
experimental
2003-02-18 20:13:03 +00:00
jdolecek
51762449f8 add nsmb device-major 2003-02-18 12:26:50 +00:00
david
9a38c06746 sync with GENERIC
add: options SYSTRACE
2003-02-17 22:44:37 +00:00
augustss
8f123087a2 Undo accidental commit of this file. 2003-02-16 17:42:13 +00:00
augustss
519f8f3d30 Add uax(4) (and url(4) in some cases). 2003-02-16 17:35:13 +00:00
dsl
673612c6a0 Use correct segment register in getmementry 2003-02-14 14:39:24 +00:00
jdolecek
1b76f8f55f One more ServerWorks host bridge, seen on Dell PowerEdge server
fix provided in PR port-i386/20333 by Sverre Froyen
2003-02-14 14:26:51 +00:00
tshiozak
4e7944a9b0 use IPL_SCHED instead of IPL_HIGH to establish interrupt for ACPI;
Calling wakeup() from a intr handler established with IPL_HIGH may causes
run/sleep queue to confuse because SCHED_LOCK() uses splsched().
2003-02-14 05:38:39 +00:00
perry
3f573e45ce Instead of spinning, __asm __volatile("hlt"). 2003-02-14 01:11:21 +00:00
ross
ff410ba8d2 If no keyboard is attached, implement RB_HALT with a spin. kern/10481 2003-02-13 21:34:03 +00:00
drochner
6fcbbb426d fix a lint stub 2003-02-09 15:49:34 +00:00
enami
0d3ee12026 Fix the type of variable `mtrr_funcs' so that this file compiles again
after constify.
2003-02-09 13:03:38 +00:00
jdolecek
ced8cde749 make k6_mtrr_funcs, i686_mtrr_funcs and mtrr_funcs const
remove extern definition for i686_mtrr_funcs from include/mtrr.h, it's
not used outside mtrr_i686.c
2003-02-09 09:38:23 +00:00
jdolecek
1677351fab match anything which claims to be PCI-EISA bridge
the explicit check for Intel PCI-EISA bridge was left in, just in case
it wouldn't identify itself as PCI-EISA bridge

fixes PR kern/9589 by Johan Danielsson
2003-02-08 12:00:36 +00:00
dsl
53d3dabb6a Use on-stack buffer to check for 2.88MB floppy, malloc() hasn't been
loaded when this is called.
Clearly the information is actually available from the bios.
(Approved by christos)
2003-02-07 00:46:08 +00:00
grant
eb9c846694 add makphy PHY for Intel gigabit cards (wm).
fixes PR install/19338 from Tomi Nylund.
2003-02-06 04:51:51 +00:00
dsl
bfd68d9702 Change to use .codw16/32 and ensure buffer address <64k
(approved by christos)
2003-02-05 21:50:25 +00:00
dsl
d77171664a A buffer slipped though the net... Ensure offset < 64k.
(approved by christos)
2003-02-05 21:48:53 +00:00
dsl
7db25b39f8 Remove unused defines 2003-02-05 21:41:51 +00:00
nakayama
e3e4805068 Replace machine/rnd.h with more appropriate name to share it
with cycle counter based microtime in kern/kern_microtime.c.
2003-02-05 13:57:50 +00:00
nakayama
d364c62597 Switch to kern/kern_microtime.c , so these are no longer needed. 2003-02-05 12:42:01 +00:00
nakayama
64eb1178ab Share i386/tsc_microtime.c with alpha and sparc64 as kern_microtime.c.
(approved by martin)
2003-02-05 12:18:01 +00:00
yamt
085e223bb8 don't restore cpl at end of Xsoft*.
it's too early and allows recursive interrupts.

hopefully fixes PR 20180. (SAITOH Masanobu)
Ok'ed by Frank van der Linden.
2003-02-04 14:17:11 +00:00
chris
b1e5771653 Trivial change, convert a tqh_first to TAILQ_FIRST(). 2003-02-03 23:16:30 +00:00
briggs
f6909b984b Revert my last change. While it actually allows a build to finish,
an iso-image created from the resulting release won't boot.  I don't
know if this change is the source of that, but one more knowledgable
than I about the x86 booter needs to look at this, and I don't want
the waters muddied any more than necessary.
2003-02-03 03:03:16 +00:00
briggs
c6b14f1ca4 Add CPPFLAGS+= -D__daddr_t=int32_t. 2003-02-03 00:08:30 +00:00
dsl
a3b6bf84d6 Increase MAXFLENTRIES - the limit is being hit on some systems.
(approved by christos)
2003-02-02 21:08:55 +00:00
dsl
bf6f586096 Change comments to refer to increased default number of fragments
(approved by christos)
2003-02-02 21:05:15 +00:00
dsl
81acacd723 Change all .S files to use .code16 and .code32
Support 32bit addresses >64k as valid on bios calls.
Move stack for dosboot and biosboot to >64 so stack doesn't hit data.
Use disk sector number passed by mbr code to select default partition
(the mbr code doesn't do this yet).
NB only biosboot and dosboot have been tested so far.
(changes approved by christos and fvdl)
2003-02-01 14:48:16 +00:00
zuntum
6d1101369a - bump MEMORY_DISK_ROOT_SIZE from 2920 to 2960
in sys/arch/i386/conf/INSTALL_TINY
- bump IMAGESIZE from 1460k to 1480k
  in distrib/i386/floppies/ramdisk-tiny/Makefile

so that "build.sh release" works again.

Suggested by simon, okay'd by luke.
2003-02-01 13:53:36 +00:00
fvdl
c17467b083 Wrap 'old BSD id' warning in DEBUG ifdef. 2003-01-31 15:35:04 +00:00
thorpej
84855a5789 Test _KERNEL_OPT before including opt_*.h files. 2003-01-30 19:59:29 +00:00
fvdl
1ae2ac239d Make the ld workaround work on x88_64, and add the temporary ld script
to CLEANFILES.
2003-01-29 18:44:47 +00:00
drochner
e3b243beb8 give some VM which was reserved for the UAREA but not used anymore back
to the user and adjust some comments (which were not accurate anyway
since NOREDZONE)
binary compatibility note: changing VM_MAXUSER_ADDRESS might influence
some sanity check in kvm_proc, where arguments on the stack are dealt
with, but it was a variable anyway and noone did care...
2003-01-29 14:12:35 +00:00
wiz
7bd6fd354d unknown, not unkown. Noted by mjl. 2003-01-28 22:19:22 +00:00
dsl
00706969a9 Remove the 4k between code and data to increase the stack space.
Support for 64bit disk blocks seems to have exploded the code.
2003-01-28 16:21:58 +00:00
kent
0b153da394 _bus_dmamem_unmap():
Sets the specified pages cacheable again because _bus_dmamem_map() might
change them uncacheable.
 The code was provided by Dhoyashiki-san in kern/19919.
2003-01-28 08:46:53 +00:00
kent
cd7d9faeaf Introduce BUS_DMA_NOCACHE, and bus_dmamem_map() of i386 supports it. 2003-01-28 01:07:51 +00:00
thorpej
ac44af9a88 Add the "ataraid" pseudo-device and the "ld" instances that attach
to it.
2003-01-27 22:31:12 +00:00
fvdl
a3ff3a3038 Bump daddr_t to 64 bits. Replace it with int32_t in all places where
it was used on-disk, so that on-disk formats remain the same.
Remove ufs_daddr_t and ufs_lbn_t for the time being.
2003-01-24 21:55:02 +00:00
jdolecek
31fcb050d5 add another memory size detection routine, using int15, function 0xc7, which
is supported on later IBM PS/2 models; this is necessary to detect memory
over 64MB
thanks go to Pavel Cahyna for testing on his IBM PS/2 machine with 128MB

bump biosboot version to 2.15
2003-01-23 21:22:24 +00:00
jdolecek
1323e01ddf use %e?x instead of %?x as 'xorl' arguments
use %al for 'movb' target, and 'andb' for masking the result with $0x02
since 'and' conveniently sets ZF, use 'and+jnz' instead of 'and+cmp+jne'
2003-01-23 21:01:18 +00:00
hannken
e6785a37e2 Increase time to wait for TLB IPI rendezvous.
Approved by: Frank van der Linden <fvdl@netbsd.org>
2003-01-22 18:32:18 +00:00
christos
2bb5209b1b lwp'ify 2003-01-22 17:48:02 +00:00
yamt
41ad61ee76 make KSTACK_CHECK_* compile after sa merge. 2003-01-22 12:52:14 +00:00
itojun
d4bff57bae s/options^I^I/options ^I/ 2003-01-21 02:44:15 +00:00
christos
e83cbded11 add support for p1003.1b semaphores. From FreeBSD 2003-01-20 20:08:30 +00:00
drochner
3ef8fd67ee this is too young to bitrot: LWPify 2003-01-20 18:43:18 +00:00
sommerfeld
69ed85673a We really don't need two vanity configs for BP6-based systems
("SWINGER" is the other).
2003-01-20 16:33:05 +00:00
lukem
ef1ca5d8b8 crank to 2240k; they've grown again 2003-01-20 01:39:02 +00:00
simonb
c369177127 Remove variable that is only assigned too but not referenced. 2003-01-20 01:29:18 +00:00
simonb
540020ec01 Don't need an extern declaration of phys_map; it's in uvm_extern.h. 2003-01-20 01:28:33 +00:00
simonb
b4509098d5 Put the storage class first. 2003-01-20 01:25:04 +00:00
thorpej
5819507df3 Merge the nathanw_sa branch. 2003-01-19 16:30:13 +00:00
tron
d9835f8fa4 Add "COMPAT_OSSAUDIO" option. 2003-01-19 10:42:54 +00:00
tron
b4458473fd Correct indentation error for "COMPAT_OSSAUDIO" option. 2003-01-19 10:42:06 +00:00
christos
7b47c1bae4 add COMPAT_OSSAUDIO [for lkms that need it]. XXX: wish for /dev/ksyms 2003-01-18 22:33:29 +00:00
thorpej
a50e3bc1cb Merge the nathanw_sa branch. 2003-01-17 22:58:53 +00:00
thorpej
c8763685b7 Allow the serial console boot blocks to be built with a specific
console speed, and build some of the more common ones.
2003-01-14 23:53:30 +00:00
thorpej
f6f0dbd011 Stub out LIBCRT0, LIBCRTBEGIN, LIBCRTEND, and LIBC. 2003-01-14 23:51:34 +00:00
fvdl
5692526bb6 Remove duplicate assignment. 2003-01-14 11:13:25 +00:00
fvdl
d928619394 Add a couple more ServerWorks host bridges that explicitly need IO space
enabled.
2003-01-14 10:56:53 +00:00
fvdl
28c12bee16 Actually return the number of found PCI interrupt routes in mpacpi_pcircount
(doh). From Wolfgang Solfrank.
2003-01-13 21:14:39 +00:00
fvdl
991c0f3475 Install interrupt handlers properly when in apic mode. 2003-01-13 01:20:58 +00:00
fvdl
86ae625e2c Declare nioapics as well. 2003-01-13 01:19:34 +00:00
fvdl
a4880cb372 Export the ioapic softc linked list, for the benefit of the mpbios code. 2003-01-12 23:20:17 +00:00
fvdl
d43937377e Handle all-apics entries for ioapic interrupts. 2003-01-12 23:19:44 +00:00
fvdl
9cf4ee5aef Move the check if ioapics were found outside of ifdef MPBIOS. Set the
polarity for the default ISA entries to 'default'.
2003-01-10 15:01:09 +00:00
fvdl
599d302034 If the polarity wasn't set in the mp config entry associated with the
ioapic pin, assume defaults (active low for level triggered, high
for edge triggered).
2003-01-10 14:58:46 +00:00
fvdl
3cef21b0f5 Pass acpi_softc down to mpacpi functions. 2003-01-10 00:45:52 +00:00
fvdl
14cc29cd5d Don't make assumptions about PCI bus numbers, carefully find all of
them before setting up the interrupt routing tables. This still
assumes that all bus numbers have been configured before this
is called.
2003-01-10 00:44:23 +00:00
soren
4a7a63dba9 URL for devids.txt moved. 2003-01-08 23:50:23 +00:00
tron
5543f31d4d Fix indendation problem in entry for "pckbc* at acpi?". 2003-01-08 13:41:17 +00:00
fvdl
864739bdee DUMMY_NOPS is gone, replace it with an inverted, less confusing option:
PIC_DELAY. To be used on very old machines.
2003-01-08 13:20:26 +00:00
fvdl
c873a9a9a1 Remove leftover debug "mp_verbose = 1" assignment. 2003-01-07 21:11:10 +00:00
fvdl
013008be77 Wrap mpbios_scanned in the right ifdef. 2003-01-07 20:13:29 +00:00
fvdl
06b5330bc7 Add MPACPI option (commented out). Add MPBIOS option by default, it is
needed now to do MP BIOS MP configuration.
2003-01-07 18:55:36 +00:00
fvdl
a23660903d Add code to configure cpus, ioapics and interrupt wiring using ACPI.
Shuffle some code around so that this an exist as a method next
to mpbios, both creating the same data structures. If both are
defined, try ACPI first.
2003-01-07 18:54:08 +00:00
fvdl
d2dfe3f39a Define acpi_md_callback. It retrieves interrupt routing info if the MP
BIOS wasn't already used for that (currently won't happen; ACPI gets
to try first if configured).
2003-01-07 18:52:43 +00:00
fvdl
501607aeed Disable ExtINT by default when using I/O APICs. 2003-01-07 18:51:15 +00:00
fvdl
f33d911ff7 Don't use any cpu_info structures until at least one CPU was attached. 2003-01-07 18:50:13 +00:00
fvdl
c2ff6d5b83 Add various external declarations to accomodate ACPI MP probing as an
alternate method to MPBIOS probing. Move some stuff common to the two
methods into mpconfig.h
2003-01-07 18:48:44 +00:00
itohy
87d5eedbbb Delete reference to astpending, which doesn't exist any longer. 2003-01-07 09:57:01 +00:00
jmcneill
4d08051d29 *soren* remember <SPACE><TAB> in config files :-)
Space-Tab-ify ACPI examples.
2003-01-07 03:19:38 +00:00
wiz
1035faff1d writable, not writeable. 2003-01-06 20:30:28 +00:00
lukem
4bb41ae2f2 Rework how KERNOBJDIR functions; now it's always determined with
cd ${KERNSRCDIR}/${KERNARCHDIR}/compile && ${PRINTOBJDIR}
This is far simpler than the previous system, and more robust with
objdirs built via BSDOBJDIR.

The previous method of finding KERNOBJDIR when using BSDOBJDIR by
referencing _SRC_TOP_OBJ_ from another directory was extremely
fragile due to the depth first tree walk by <bsd.subdir.mk>, and
the caching of _SRC_TOP_OBJ_ (with MAKEOVERRIDES) which would be
empty on the *first* pass to create fresh objdirs.

This change requires adding sys/arch/*/compile/Makefile to create
the objdir in that directory, and descending into arch/*/compile
from arch/*/Makefile.  Remove the now-unnecessary .keep_me files
whilst here.

Per lengthy discussion with Andrew Brown.
2003-01-06 17:40:18 +00:00
wiz
9a3f5034cf No more opms on i386. 2003-01-06 11:31:39 +00:00
sommerfeld
52b083a154 Add symbolic names for MSR's used by SYSENTER/EXIT.
(I was experimenting a while back, might as well commit this one file..)
2003-01-05 22:47:13 +00:00
christos
a731ae7dc4 add ACPIVERBOSE [commented out] 2003-01-05 22:31:13 +00:00
jmcneill
65c6c82f48 Document all known ACPI devices and options (disabled by default). 2003-01-05 21:44:32 +00:00
lukem
a250e57c96 Install release files under "${RELEASEDIR}/${MACHINE}/..." instead of
"${RELEASEDIR}/...".

${RELEASEDIR} is never cleaned , and ${RELEASEDIR}/${MACHINE} is only
cleaned if UPDATE is not defined.
2003-01-03 15:34:30 +00:00
tron
050140988d Add commented out entry for acpi(4). 2003-01-02 12:36:51 +00:00
thorpej
1132348b98 Use aprint_normal() for cfprint routines. 2003-01-01 01:24:19 +00:00
explorer
4b995bb9a4 fix for my sony laptop, which doesn't quite follow spec 2002-12-30 21:55:05 +00:00
sommerfeld
20d271e712 TODO list, paraphrasing Jason Thorpe 2002-12-28 20:12:24 +00:00
kristerw
2ae40935fb The correct way to decorate objects with attributes is to use __attribute__
instead of the synonyms understood by gcc.
2002-12-28 20:11:57 +00:00
christos
f69bc61a87 remove redundant declaration 2002-12-28 20:06:07 +00:00
jmcneill
8eb0fffdfc Add an npx at acpi(4) attachment 2002-12-28 17:51:16 +00:00
matt
13e7cd4f3f Use i386_isa_chipset explicitly. 2002-12-28 17:36:59 +00:00
jmcneill
df719d72e4 NACPCA -> NACPI, so isa_dmainit gets called if we have ACPI support too. 2002-12-28 17:31:25 +00:00
matt
6b5d7a7b6c Remember the isa_chipset_tag_t and supply to isa_intr_establish.
(thereby removing a XXX in the code).
2002-12-28 17:13:39 +00:00
matt
51ec27c813 Move the call to isa_dmainit to mainbus_attach from pnpbios_attach since
ACPI needs to have that done for the exact same reasons as ACPI.
2002-12-28 17:11:50 +00:00
jmcneill
c8111254a1 Pass ISA chipset information through to ACPI devices, to allow for porting
of pnpbios(4) glue to acpi(4).
2002-12-28 06:14:07 +00:00
manu
f464631d66 Several things:
1) rights should be shared by the threads within a process. While it would
be easier to handle this with the struct proc/struct lwp split, we attempt to
do this now by sharing the right lists. Because each right holds a reference
to struct proc, this might cause some problems later.
2) in pthread_exit, really exit the thread. Also reintialize the righ tlist to
make sure we will not destroy the parent's right list
3) rights can hold multiple permissions on a port (ie: send and receive). Fix th
is.
4) first attempt on right carried by messages. We still have to do rights carrie
d in the message body (complex messages).
2002-12-27 09:59:24 +00:00
junyoung
9f582c3342 Cosmetic changes to reduce diff against GENERIC. 2002-12-26 08:25:20 +00:00
junyoung
41313fe244 #<space>comment...
Pointed out by collver1 via PR#18468.
2002-12-26 08:21:56 +00:00
manu
4a06119a9d Pass the system call table to trace_enter() and ktrsys() so that it is
possible to use alternate system call tables. This is usefull for
displaying correctly the arguments in Mach binaries traces.

If NULL is given, then the regular systam call table for the process is used.
2002-12-21 16:23:56 +00:00
thorpej
899e58abe7 Bump ramdisk size to 2920 blocks. 2002-12-20 23:14:14 +00:00
gmcgarry
5abd84e433 Use callee-saved registers in RAS processing. 2002-12-17 20:49:07 +00:00
gmcgarry
7443ad1b01 Move to MI runqueue functions. 2002-12-17 19:47:15 +00:00
jdolecek
30f7194bc4 use the __HAVE_CPU_MAXPROC hook to limit kern.maxproc to number
of available GDT slots
add code in init386() to force maxproc to be maximum cpu_maxproc()

this fixes port-i386/1635 by John Kohl
2002-12-16 18:31:08 +00:00
fvdl
4bd73a650e Remove leftover declarations used for debugging purposes only. 2002-12-16 16:22:50 +00:00
fvdl
b2622c34d6 In syscall_fancy(), drop the kernel lock if trace_enter fails.
From Nick Hudson.
2002-12-14 14:40:36 +00:00
junyoung
16c0ce8d78 Fix comment.
De-__P().
2002-12-14 09:46:36 +00:00
junyoung
058737862e Now that gdt_compact() is gone, #if 0'ed gdt_shrink() doesn't need to be
here, either. Remove other #if 0 code as well.
2002-12-14 09:38:50 +00:00
christos
0cc4fbf335 add twe control device 2002-12-13 23:26:47 +00:00
fvdl
ac22ef18d8 Remove redundant cli/sti instructions. From Enami Tsugutomo. 2002-12-12 21:39:33 +00:00
christos
61b8a488ba Add empty shells of new functions so we can keep compiling. 2002-12-12 17:42:10 +00:00
christos
09e9a5cde9 This new file is wanted by compat_darwin. 2002-12-12 17:41:53 +00:00
christos
c9498dd93c add missing dependency. 2002-12-12 17:41:19 +00:00
joda
86b7f22e4f cpuid feature bit 30 is set on IA-64 (in x86 mode) 2002-12-11 13:50:14 +00:00
fvdl
a167f47c0c Since a CPU may spin waiting for another CPU to handle an IPI, an
IPI must be the very first thing to be handled in splx(), if it
had been blocked before. Change things around a bit to guarantee
this.
2002-12-11 12:02:07 +00:00
perry
c2afe21c94 Change from a hardcoded sanity check date that has to be updated by
hand every few years to code that uses the automatically generated
time value from config_time.h
Fixes an ancient XXX in the code.
2002-12-10 23:24:33 +00:00
thorpej
e8cc3884de Rename __LDPGSZ to AOUT_LDPGSZ, to accurately reflect what it is. 2002-12-10 17:14:02 +00:00
thorpej
78ea2dd367 Use __LDPGSZ (which must be == USRTEXT) as the text address for a.out
executables, and eliminate the USRTEXT constant, which was only used
by the a.out exec code.
2002-12-10 05:14:24 +00:00
david
213339df22 Restore the cardbus config line. Cardslot is upset with pcmcia only. 2002-12-09 16:24:39 +00:00
perry
21bf723223 comment out/comment/move p64h2apic line. 2002-12-09 15:50:57 +00:00
david
6189641f30 Don't want cardbus here, since there are no devices on it.
Thanks to Krister Walfridsson for mentioning it.
2002-12-09 02:38:13 +00:00
ad
59773dea2e Implement the DPT EATA ioctl() interface. 2002-12-07 19:48:30 +00:00
junyoung
6b57b095ae Identify many Intel processors which were misidentified previously. 2002-12-07 15:36:20 +00:00
junyoung
721f8f7979 Print processor signature (id) after clock frequency. 2002-12-07 15:18:08 +00:00
jmc
a94542f191 Rename the commented out fwscsi -> sbpscsi (names changed once code was
committed)
2002-12-07 07:26:51 +00:00
junyoung
43bc578d8b Get rid of #ifdef CPUDEBUG. CPU signature is always displayed. 2002-12-06 17:53:52 +00:00
junyoung
6e278393ba Don't pollute struct cpu_info with throwaway variables. 2002-12-06 14:47:07 +00:00
junyoung
df482bbd8a Rename amd_cpuid_cpu_cacheinfo() to amd_cpu_cacheinfo(). 2002-12-06 05:03:02 +00:00
junyoung
281fa073dc Display the extended feature flags with non-Intel processors rather than
the standard flags. See also PR#19163.

Before:

cpu0: AMD Athlon XP 1800+ (686-class), 1532.11 MHz
cpu0: features 383f9ff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,SEP,MTRR>
cpu0: features 383f9ff<PGE,MCA,CMOV,FGPAT,PSE36,MMX>
cpu0: features 383f9ff<FXSR,SSE>

After:

cpu0: AMD Athlon XP 1800+ (686-class), 1532.11 MHz
cpu0: features c3cbf9ff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,SEP,MTRR>
cpu0: features c3cbf9ff<PGE,MCA,CMOV,PAT,PSE36,MPC,MMXX,MMX>
cpu0: features c3cbf9ff<FXSR,SSE,3DNOW2,3DNOW>

While I'm here, amd_cpuid_cpu_cacheinfo() is an info function rather
than a probe function.
2002-12-06 02:38:25 +00:00
christos
c363ae66f1 add offsets for linux_rt_sigframe 2002-12-06 00:00:20 +00:00
christos
6b0fccd61c simplify 2002-12-06 00:00:04 +00:00
junyoung
a2a55f2564 - FGPAT -> PAT, as documented in Intel manual.
- Feature flag 31 is "Signal Break on FERR" (SBF).
2002-12-05 17:25:26 +00:00
junyoung
72510c5d3b - Identify VIA C3 processors. Fix PR#19163.
- While here, make use of CPUID2STEPPING() macro.
2002-12-05 16:19:08 +00:00
jdolecek
4ed167f658 a bit of KNF - function type on separate line than function name, function
name on start of line
2002-12-05 10:01:56 +00:00
ichiro
fa14fafc16 add IEEE1394 configuration(Comment out) 2002-12-05 09:32:22 +00:00
david
2cf8089839 Include cbb, and its cardslot and pcmcia children. Needed by some wi cards. 2002-12-04 23:44:12 +00:00
fvdl
93f2be9ef0 For the resume/recurse case, make sure that the interrupt mask level
of the handler is set before acquiring the kernel lock, to avoid a
recursive chain of interrupt processing out of splx().
2002-12-04 23:13:09 +00:00
jdolecek
6227201ba9 If booting from floppy in 2.88MB drive, actually test if it's possible
to read sector 18, and fallback to 1.44MB drive geometry if that fails.
This allows to boot from 1.44MB floppy disk in 2.88MB drive.
Tested with 2.88MB drive in IBM PS/2 model 95 donated
by 'Yokotashi' <lhc at kanal ucw cz> and Pavel Cahyna
<pavel.cahyna at st ms mff cuni cz>
Bump biosboot version.

Fixes PR kern/3418 by Keith Moore.

Change okayed by Frank van den Linden.
2002-12-04 18:26:56 +00:00
fvdl
5c45b70587 Don't use delay() in the IPI wait loop. Use an empty one instead, with
a counter check in the DIAGNOSTIC case.
2002-12-04 01:36:10 +00:00
fvdl
082d4707fd Create a proper frame in Xspllower if DDB is defined. 2002-12-04 01:33:58 +00:00
haya
805040f592 New Feature: add pseudo device for IEEE 1394 isochronous stream and
isochronous reception routine for IEEE 1394 OHCI (fwohci).  The
transmission part is under construction.

The minimum configuration options for this feature are:

# IEEE 1394 (i.LINK)
fwohci*	at pci? dev ? function ?
pseudo-device	fwiso		1
2002-12-04 00:28:39 +00:00
kenh
25c20430c3 The day-of-week register in the MC146818 has the value 1-7, but
clock_secs_to_ymdhms() returns dt_wday with a range of 0-6.  Make sure
the DOW register has the correct range.
2002-12-03 16:11:11 +00:00
fvdl
8848e366f2 For softints, there's no intrframe on the stack, so don't try to use it.
Use a seperate lock function (in taking the same lock) instead.
2002-12-01 00:15:36 +00:00
fvdl
14067df51c Fix format warnings in INTRDEBUG case. 2002-11-30 22:22:53 +00:00
fvdl
1e23499b18 Make biosgeom struct packed, so that it works out on x86_64. 2002-11-30 13:46:26 +00:00
fvdl
6da8034165 Think before committing.. previous wasn't actually needed, the values are
guaranteed to fit in 32 bits when loading the kernel into physmem,
and it avoids bootloader incompatibility.
2002-11-29 19:38:24 +00:00
fvdl
6f923c1495 Use long for ssym and esym in btinfo_symtab, so that it works out for
both i386 and x86_64.
2002-11-29 19:33:26 +00:00
fvdl
f91cba76ea Add ci_apicid field. 2002-11-28 21:43:55 +00:00
fvdl
ca0469f229 Some changes to make single-CPU systems that have an ioapic (and
an MP BIOS table enabled) work. Some MULTIPROCESSOR defines to
make things compile, and a split of ci_cpuid into ci_cpuid and
ci_apicid. They're always equal for the MULTIPROCESSOR case,
but different otherwise (ci_cpuid will always be 0).
2002-11-28 16:37:35 +00:00
fvdl
ea871d0671 Only include IPI stubs in the MULTIPROCESSOR case. From Hubert Feyrer. 2002-11-27 21:59:55 +00:00
fvdl
39652b6d2a Only take the kernel lock if we interrupted while < IPL_SCHED. Handlers
at higher levels must therefore provide their own locking. Currently
this is only serial interrupts (com), which has COM_MPLOCK for this
purpose.
2002-11-27 00:43:12 +00:00
fvdl
18ad7e80b6 Specify the interrupt frame as the argument to i386_int(un)lock. 2002-11-27 00:41:59 +00:00
lukem
0635de35a3 Remove KDIR=, since SYS_INCLUDE=symlinks and KDIR are not supported any more. 2002-11-26 23:30:07 +00:00
christos
729ccbc9cd si_ -> sel_ 2002-11-26 19:49:00 +00:00
thorpej
09dfaace39 The traditional C preprocessor is fixed in GCC 3.3 now, so no need
to skip -traditional-cpp for HAVE_GCC3.
2002-11-26 18:51:12 +00:00
christos
26f075fcb4 minor cleanups. 2002-11-26 18:40:46 +00:00
manu
53356d6169 Added an empty shell for signal delivery. Now we just have to fill the
machine dependant bits.
2002-11-25 22:25:12 +00:00
enami
e58966cf92 Explicitly include machine/atomic.h since this file uses inline function
defined there.  This is necessary when LOCKDEBUG is defined.
2002-11-25 02:10:28 +00:00
lukem
1847a76b62 use NOMAN instead of MKMAN=no. noted by David Bonnafous on port-i386@ 2002-11-24 23:48:48 +00:00
christos
40983baedb add mach_sigcode.o to the files that depend on assym.h 2002-11-24 18:56:01 +00:00
jmc
33169df7d2 Provide a cast when setting up the interrupt handler (npxintr has a different
signature than the prototype expects)
2002-11-24 10:19:37 +00:00
fvdl
79f52ea3a8 Some hacks to make this compile on x86_64. 2002-11-23 23:34:39 +00:00
fvdl
b31699f426 Remove duplicate definitions, include <machine/frameasm.h> instead. 2002-11-23 10:50:09 +00:00
fvdl
e5a9ffde7a Remove "ioapic.h" include, and always include the intr_find_mpmapping
prototype; it's not worth the extra bytes to avoid including this.
2002-11-23 10:37:09 +00:00
lha
2943f5e96b install intrdefs.h so it can be used by intr.h (and libkvm) 2002-11-23 05:33:11 +00:00
lha
e5a0293cb5 Add fix a missing CPUVAR define (copied from mach_sigcode.S). Frank
promised to a better fix when he wakes up, this just to make it
compile again.
2002-11-23 02:05:51 +00:00
fvdl
23fb62d8f1 Removed unused function. From kristerw. 2002-11-22 21:21:13 +00:00
fvdl
af8aa9d5df Get this to compile again in the ioapic case. 2002-11-22 16:16:56 +00:00
fvdl
ae4b76c8d3 New interrupt code. The basic idea behind it is to hide the differences
in interrupt controllers in struct pic, and try to keep as much
common code as possible. At the lowest (asm) level, this is done
with CPP macros.

The main structure is now struct intrsource, describing an established
interrupt line, of any kind (soft/hard local apic/legacy apic/IO apic).
For quick masking, there may be a maximum of 32 sources per CPU.
Sources can be assigned to any CPU in the MP case, though currently they
all go to the boot CPU.
2002-11-22 15:23:35 +00:00
fvdl
88fb7f6d27 Define a generic PIC structure, used by the interrupt code. 2002-11-22 15:07:58 +00:00
fvdl
99dccacc3c Interrupt defines that needed to be in a seperate file to avoid cyclic
includes.
2002-11-22 15:07:38 +00:00
fvdl
65d1332692 Asm macros for interrupt/trap entry/exit, used in multiple .S files. 2002-11-22 15:07:10 +00:00
fvdl
1db3b7489b New files for the changed interrupt code. i8259.c deals with some of
the old ('legacy') i8259 code, intr.c now contains the bulk of
the interrupt establish/disestablish code.
2002-11-22 15:05:23 +00:00
fvdl
0caa98d6b8 .s -> .S rename 2002-11-22 15:02:12 +00:00
fvdl
c403116289 .s -> .S rename. New files: vector.S and spl.S, they have been split
off from locore.s, plus parts of isa/vector.s and isa/icu.s
2002-11-22 15:01:15 +00:00
fvdl
71a8119df8 Renamed to .S 2002-11-22 14:57:32 +00:00
fvdl
518afbd262 Renamed to .S, locore.s was split up too. 2002-11-22 14:55:11 +00:00
fvdl
fe506424c6 Removed in the new intr world. 2002-11-22 14:53:05 +00:00
fvdl
e2b6067204 Removed, no longer needed. Defines were either dupilcates, or have been
moved to other files.
2002-11-22 14:43:32 +00:00
fvdl
45cffa1bd6 These files have been given a proper .S extension, they will come back
to life as such.
2002-11-22 14:39:26 +00:00
fvdl
e4703e808c The ioapic interrupt code has been folded together with the i8259
interrupt code.
2002-11-22 14:30:28 +00:00
wiz
e78e668887 Fix typo (responsiness -> responsiveness). 2002-11-22 12:20:58 +00:00
christos
eac02262d1 fix cpu_subtype XXX: HOST_BASIC_INFO still does not work. 2002-11-19 19:55:05 +00:00
uebayasi
c041971257 Fix compilation errors introduced by recent trace_enter()/ktrsyscall() changes.
Provided by FUKAUMI Naoki <naoki at fukaumi dot org> in kern/19070.
2002-11-16 07:40:38 +00:00
manu
d584ed9598 Add a realcode argument to trace_enter and ktrsyscall. realcode is the
original system call number, which can be negative for a Mach trap.
We cannot just replace code by realcode, because ktrsyscall uses it as
an index in the system call table, thus crashing the kernel when the
value is negative.
2002-11-15 20:06:00 +00:00
ad
5a728ace12 Changes for SMBus/I2C:
- Move lm_readreg/lm_writereg into the front-ends. Add/use function pointers
  in the softc.
- Add a bank select function pointer to the softc and provide a generic
  version. WinBond chips accessed over serial bus present three addresses,
  two of which are used to access bank 1/2 registers.
- Mark TSENS2/3 sensor data as invalid if the the corresponding bank select
  fails.
2002-11-15 14:55:41 +00:00
atatat
ee27492d90 Remove t4dw at pci, since we don't have any description or code for a
device with that name.  Addresses PR port-i386/19040.
2002-11-14 22:37:18 +00:00
christos
09495207e1 darwin needs us. 2002-11-14 21:38:51 +00:00
christos
a5e84b23a8 retrieve host basic info. 2002-11-14 19:45:25 +00:00
minoura
78bfc702a8 Add support for National Semiconductor Geode(TM) familly of processors.
Thanks to Hiroshi Miura <miura AT da-cha DOT org> for testing.
2002-11-14 12:52:28 +00:00
jdolecek
8d9855100c enable raidframe again, it apparently works fine even w/ MP now
blessed by Frank
2002-11-13 20:00:04 +00:00
christos
ce4326d8cd add COMPAT_DARWIN 2002-11-13 19:20:24 +00:00
fvdl
69728c4ced The kernel lock must be held around ADDUPROF. 2002-11-12 11:51:54 +00:00
fvdl
726d1e9017 Check for an error in {f,s}uwintr before checking (if MULTIPROCESSOR)
if the kernel lock is held, otherwise a fatal trap will be erronerously
signaled for cases like profile calls from statclock().
2002-11-11 13:54:28 +00:00
itohy
6f08fa6ecb XINTR_TSS() macro for non-ELF case
whitespace nit
2002-11-11 09:17:16 +00:00
itohy
3da640e7d9 delete useless .global declarations 2002-11-11 09:14:10 +00:00
itohy
e7bab7c73c delete reference to astpending, which does not exist any longer 2002-11-10 14:28:10 +00:00
martin
c4349cac72 Add a driver for the Myson Technology MTD803 3-in-1 Fast Ethernet Controller,
provided by Peter Bex in PR 18675.
2002-11-07 21:56:56 +00:00
thorpej
68d2fcace6 Make the _CONCAT() macro work with ISO C preprocessor. 2002-11-07 06:58:44 +00:00
itohy
94b2e6e61d Dump DDB_* and SYMTAB_SPACE options to opt_ddbparam.h rather than opt_ddb.h.
These options are used in limited files but #include "opt_ddb.h" are
everywhere, and changing them caused almost full recompilation.
2002-11-04 06:24:38 +00:00
perry
c8815bffa1 1) egg, meet face. face, meet egg.
2) re-UL KERNBASE, but this time, protect it with #ifndef _LOCORE so we
   don't get a big kaboom in .S files.
2002-11-02 17:30:15 +00:00
kristerw
7f2e5abcf1 Revert previous. The assembler bombs on UL integer suffix. 2002-11-02 11:55:24 +00:00
perry
d360d70909 We don't need our on KERNLINTFLAGS any longer. 2002-11-02 07:59:26 +00:00
yamt
310b5f8041 correct asssertion in cpu_switch: spl higher than IPL_SCHED is also ok. 2002-11-02 07:41:30 +00:00
perry
1547f39c5a /*CONTCOND*/ a while (0) macro 2002-11-02 07:15:07 +00:00
perry
7c42625da4 define KERNBASE with a UL -- eliminates 830 or so lines of lint. 2002-11-02 07:09:23 +00:00
perry
fa3fedc290 /*ARGSUSED*/ one function -- eliminates 414 lint complaints 2002-11-02 07:07:09 +00:00
perry
a0839650fe asm -> __asm 2002-11-02 01:58:51 +00:00
perry
58d2be532d asm volatile -> __asm __volatile 2002-11-02 01:57:31 +00:00