Commit Graph

570 Commits

Author SHA1 Message Date
drochner b7b6c4bb4f machdep.c is becoming an unmaintainable mess
put console initialisation into a separate file
1999-12-21 12:34:11 +00:00
sommerfeld c86b5b3d08 Add new CPU feature flags (up through recent Pentium III and Celerons) 1999-12-13 01:31:30 +00:00
ragge 0513268399 CL* discarding. 1999-12-04 21:13:19 +00:00
drochner b678bca85b Allow loading of kernels larger than (16-1)M.
XXX This is a stopgap fix which can be pulled up to 1.4.x. It only replaces
the arbitrary 16M boundary by an arbitrary 128M boundary. A clean solution
would need changes to the mi loadfile.c parts.
1999-11-30 12:02:13 +00:00
thorpej 4a98f5856e Basic interface to BIOS32. Separated from UCHIYAMA Yasushi's PCI BIOS
patches and cleaned up a bit.
1999-11-17 00:55:50 +00:00
drochner 8f5c3d689b add GDT segments for pnpbios use 1999-11-12 18:37:29 +00:00
marc e1e554ac35 charles was on drugs. There's no such thing as #elifdef. 1999-11-09 02:25:33 +00:00
mycroft 277394fdd3 Fix WARN_REFERENCES() here for the ELF case. 1999-11-07 07:20:26 +00:00
enami de37487d49 - Export initrtclock().
- Call it from apm_resume().

This fixes timer problem on some laptop after hybernation (PR#4808).
Reviewd by: fvdl@netbsd.org
1999-11-06 01:14:00 +00:00
drochner 4cc6f12c09 Don't let loadfile_machdep.h make it to /usr/include - the i386
stand Makefiles already set up the compile environment so that
machine/loadfile_machdep.h can be found.
1999-10-25 15:12:16 +00:00
kleink 522cbf0248 Update to match new SVR4-style definition names in <sys/exec_elf.h>. 1999-10-25 13:55:06 +00:00
haya e5cc414836 add NetBSD ID tag. 1999-10-15 06:42:21 +00:00
haya 4eee111127 This is the first check-in of CardBus driver. CardBus driver contains
CardBus bus stub, YENTA PCI-CardBus bridge (cbb), 3Com 3C575TX driver
(ex) and Intel fxp driver.

TODO:
  o Conform to the KNF more strictly.
  o Be unified with pcmcia code as much as possible.
  o Add more drivers for CardBus card, such as APA-1480 or USB card.

The affected files are listed below.

	sys/arch/i386/conf/files.i386
	sys/arch/macppc/conf/files.macppc
	sys/conf/files
	sys/dev/ic/elinkxl.c
	sys/dev/ic/elinkxlvar.h
	sys/dev/ic/i82365.c
	sys/dev/ic/i82365var.h
	sys/dev/isa/i82365_isasubr.c
	sys/dev/pci/files.pci
	sys/dev/pcmcia/pcmcia.c
	sys/dev/pcmcia/pcmciachip.h

The added files are listed below.

	sys/arch/i386/conf/CARDBUS
	sys/arch/i386/include/rbus_machdep.h
	sys/arch/i386/i386/rbus_machdep.c
	sys/arch/macppc/include/rbus_machdep.h
	sys/arch/macppc/macppc/rbus_machdep.c
	sys/dev/cardbus/if_ex_cardbus.c
	sys/dev/cardbus/Makefile.cardbusdevs
	sys/dev/cardbus/cardbus.c
	sys/dev/cardbus/cardbus_map.c
	sys/dev/cardbus/cardbusdevs
	sys/dev/cardbus/cardbusdevs.h
	sys/dev/cardbus/cardbusdevs_data.h
	sys/dev/cardbus/cardbusvar.h
	sys/dev/cardbus/cardslot.c
	sys/dev/cardbus/cardslotvar.h
	sys/dev/cardbus/devlist2h.awk
	sys/dev/cardbus/files.cardbus
	sys/dev/cardbus/if_fxp_cardbus.c
	sys/dev/cardbus/pccardcis.h
	sys/dev/cardbus/rbus.c
	sys/dev/cardbus/rbus.h
	sys/dev/pci/pccbb.c
	sys/dev/pci/pccbbreg.h
	sys/dev/pci/pccbbvar.h
1999-10-15 06:07:17 +00:00
fvdl a4e89ca2a1 Define CPU_FPU_PRESENT sysctl value. 1999-10-06 20:04:53 +00:00
enami 2230805f45 Add missing backslash. 1999-09-28 09:57:35 +00:00
kleink 0b9965d236 For ELF, rename the profiling entry from mcount to __mcount to avoid clashing
with the user's namespace, also within file scope; for binary compatibility,
define a weak alias for the previous name to cover our tracks.
1999-09-27 09:47:44 +00:00
chs f3a668ed84 eliminate the PMAP_NEW option by making it required for all ports.
ports which previously had no support for PMAP_NEW now implement
the pmap_k* interfaces as wrappers around the non-k versions.
1999-09-12 01:16:55 +00:00
kleink 5663256d0a Unlike in an i386 a.out assembler, where in an .align n directive n is meant
to be the logarithm to base 2 of the alignment, in an ELF environment n is
the actual alignment boundary; thus, adjust the directives accordingly.

Albeit the wonderful i386 architecture doesn't mind the smaller alignment in
an obvious way, it is likely to have resulted in some performance penalty
during the a.out->ELF transition.
1999-08-23 08:24:36 +00:00
simonb 3c185af5fd Include <sys/endian.h> after defining whether where are little- or
big-endian.  i386, pc532 and vax still include <machine/byte_swap.h>
and define macros for the {n,h}to{h,n}*() functions.  mips also
defines some endian-independent assembly-code aliases for unaligned
memory accesses.
1999-08-21 05:53:50 +00:00
simonb 06a92524c2 Include <sys/bswap.h> for function prototypes. i386, pc532 and vax
still include <machine/byte_swap.h> and define macros for some of
the bswap*() functions.
1999-08-21 05:39:51 +00:00
drochner fcf48304c2 add some v1.2 bits, comment out the APM_IOC_DEV_CTL ioctl which I didn't
find a use for
1999-08-17 19:05:53 +00:00
thorpej 28fb7c1eb8 Define cpu_number() as discussed on tech-smp. 1999-08-10 21:08:05 +00:00
thorpej eb20bbc780 Change the semantics of splsoftclock() to be like other spl*() functions,
that is priority is rasied.  Add a new spllowersoftclock() to provide the
atomic drop-to-softclock semantics that the old splsoftclock() provided,
and update calls accordingly.

This fixes a problem with using the "rnd" pseudo-device from within
interrupt context to extract random data (e.g. from within the softnet
interrupt) where doing so would incorrectly unblock interrupts (causing
all sorts of lossage).

XXX 4 platforms do not have priority-raising capability: newsmips, sparc,
XXX sparc64, and VAX.  This platforms still have this bug until their
XXX spl*() functions are fixed.
1999-08-05 18:08:08 +00:00
thorpej 31fa5c6f78 Don't inline pmap_kenter_pa(). It doesn't buy us much to do so, and
it's nice to have it show up in stack traces.
1999-07-28 01:07:52 +00:00
thorpej eff41cf3b1 Implement cpu_wait(), and move the call to tss_free() from switch_exit()
to cpu_wait(); tss_free() may block, and thus requires a valid context.
1999-07-20 22:25:18 +00:00
chs 47602880d7 KNF. 1999-07-18 21:33:20 +00:00
cgd 7c02d93c04 nuke current definitions provided by __BUS_SPACE_COMPAT_OLDDEFS.
I'll do what I can to make new ones soon.  8-)
1999-06-18 04:49:24 +00:00
thorpej e2442268e9 PMAP_NEW is no longer optional on the i386; the old pmap's page table
allocation strategy no longer works at all.  Move pmap.new.* to pmap.*.

To read the revision history of PMAP_NEW up until this merge, use cvs
rlog of the old pmap.new.* files.
1999-06-17 00:12:10 +00:00
thorpej 5f3034757f Move the user-set LDT out of the PCB and into the pmap. Applications
which set the LDT and share VM space (e.g. new versions of WINE) expect
the LDT to be logically coupled to the address space.  Use the new pmap_fork()
interface to copy non-shared user-set LDTs when the address space is forked.
1999-05-12 19:28:28 +00:00
chs 39a7993efb update resident_count and wired_count properly in pmap_kenter_*()
and pmap_kremove().
1999-05-05 05:21:13 +00:00
christos c596c324e3 Define __builtin_*() for lint 1999-05-03 16:30:31 +00:00
christos 4f8814a98c Fix tyop 1999-04-28 10:58:10 +00:00
christos 0766a607d4 MD defines for the MI loadfile 1999-04-28 09:10:07 +00:00
thorpej b8073b401b Garbage-collect the VM_MBUF_SIZE constant. Instead, use the size
(nmbclusters * mclbytes), so that the right amount of KVA space is
allocated if those variables are patched.
1999-04-26 22:46:44 +00:00
thorpej 2f832df90c Do proc0's TSS and LDT initialization at the end of configure() (i.e.
once the FPU has been attached).
1999-04-01 00:37:50 +00:00
drochner 76fa1751fe Add a macro to check for sufficient pointer alignment in bus.h context,
"BUS_SPACE_ALIGNED_POINTER()".
Equal to the param.h "ALIGNED_POINTER()" normally, but obeys additional
requirements of the bus_space_xxx_n() macros. (BUS_SPACE_DEBUG)
1999-03-23 21:29:03 +00:00
thorpej a77ccfe460 Garbage-collect. 1999-03-20 01:40:25 +00:00
cgd 7b5fe5e402 Moved from arch/i386/isa/isa_machdep.h,v 1999-03-19 05:02:10 +00:00
cgd 2ee7faa480 Moved from arch/i386/pci/pci_machdep.h,v 1999-03-19 03:36:13 +00:00
cgd 6d9d9e12e2 Moved from arch/i386/isa/isapnp_machdep.h,v 1999-03-19 03:18:53 +00:00
cgd a12c0565ed Moved from ../eisa/eisa_machdep.h,v 1999-03-19 02:56:59 +00:00
fvdl 8371eb7a88 Clean up the BIOS disk matching code a bit (better naming, one structure
and sysctl to export to userland). Also, only use total number of sectors
given in the extended parameters if the physical chs geometry is
marked invalid. Hopefully fixes a problem where BIOSs would not correctly
fill in this field.
1999-03-12 01:01:41 +00:00
sommerfe 2ec4ac3d65 Increase default MSGBUFSIZE due to more and chattier drivers in -current 1999-03-10 18:02:22 +00:00
mycroft 5ec1e5beab Add an ieee.h. 1999-03-10 08:13:01 +00:00
fvdl bdb770bc34 Create a list of native disks too, and make it retrievable. It contains
all matching BIOS disks per entry, so that we have complete match info.
Enable the matching code.
1999-03-10 01:28:24 +00:00
drochner 6fb323453d add a definition to pass the "memory map", ie the outcome of INT15/0xe820,
to the kernel
1999-03-08 21:42:48 +00:00
fvdl 5db52a7a6b Add some fields to the already defined, but unused, bootinfo structure
for BIOS geometry. Define CPU_BIOS_GEOM sysctl value in cpu.h.
1999-03-08 00:10:42 +00:00
christos e13149e632 Don't need to stick the interpreter at 0 anymore, it relocates itself. 1999-02-25 10:18:04 +00:00
christos 636b3ee69b s/JUMP/JMP/ like every other arch. 1999-02-07 17:20:00 +00:00
drochner bce7f71843 sort the dependencies between terminal devices a bit and add consistency
checks to catch conflicting devices at compile time
1999-02-06 18:46:21 +00:00
thorpej 6a75ade4bc The x86 does not have strict alignment requirements, so define
__NO_STRICT_ALIGNMENT here.
1999-02-05 22:13:12 +00:00
christos 72ba98061e Add btinfo_symtab, to pass symbol table information.
Actually the current ddb_init interface sucks, since there is no
magic number for a.out and it applies heuristics. It would be nice
if the boot blocks passed more info.
1999-01-28 20:10:55 +00:00
thorpej f077362c41 Use the MI <sys/disklabel_mbr.h>, not our own machine-dependent
definitions.
1999-01-27 20:54:56 +00:00
christos be52cd1738 Fix this properly, using gcc assembly syntax (thanks ws!) 1999-01-26 17:07:06 +00:00
christos d95840263e add prototypes for the assembly functions that moved to locore.s 1999-01-26 14:25:02 +00:00
christos 0339b8e4dd ifdef __ELF__ the softintr inline since we cannot use _C_LABEL to produce
a name. XXX: Is there a better way?
1999-01-26 14:22:23 +00:00
mycroft 897a8a7f29 Mark [hn]to[nh][ls]() with __const__, so they are subject to CSE. 1999-01-24 12:55:01 +00:00
mycroft ec253b6315 Use __builtin_next_arg(). Fixed PR 6862. 1999-01-22 14:14:32 +00:00
christos 28b4668c17 Move prototypes to mi code; add MD constant for padding 1999-01-21 23:11:45 +00:00
chuck 8bd992a5f6 remove non MNN code 1999-01-16 20:30:34 +00:00
tron 3601b98911 Add missing backslashes between continued lines. 1999-01-16 06:24:07 +00:00
bouyer 62a77e9dfe Oups, need byte_swap.h too. Pointed out by Robert V. Baron 1999-01-16 02:20:26 +00:00
bouyer dc306354b0 Move the bswap functions from libutil to libc (this bups the
minor of libc and the major of libutil). For little-endian architectures
merge the bnswap() assembly versions with nto* and hton* using symbols
aliasing. Use symbol renaming for the bswap function in this case to avoid
namespace pollution.
Declare bswap* in machine/bswap.h, not machine/endian.h. For little-endian
machines, common code for inline macros go in machine/byte_swap.h
Sync libkern with libc.
Adjust #include in kernel sources for machine/bswap.h.
1999-01-15 13:31:15 +00:00
christos e0c19ac888 We cannot relocate our interpreter (yet). 1999-01-11 11:02:50 +00:00
christos e293d1bc34 Add ELF crap. 1999-01-11 11:02:16 +00:00
christos c7f9823bf0 C_LABEL has no _ if __ELF__ 1998-12-23 15:09:48 +00:00
kleink 1b6a24c1d4 Support for compound statements enclosed in parenthes to appear as
expressions is a GNU C extension; mark as such them with __extension__ to
suppress portability warnings.  Addresses kern/3562 and misc/6185, as suggested
by Dave Sainty <dave@dtsp.co.nz>.
1998-12-16 11:11:02 +00:00
christos 4959a9fca6 Add defines for the fast trap vectors. 1998-12-13 19:27:51 +00:00
thorpej 2d7f8f3343 Support both a.out and Elf32 symbols in DDB. 1998-12-04 20:19:22 +00:00
thorpej da572a137f Argh, fix the ANSI CPP version of the a.out WARN_REFERENCES(). 1998-12-02 21:16:46 +00:00
thorpej a6f7e0c05a Implement WARN_REFERENCES(). 1998-12-02 00:58:42 +00:00
christos 9a95622add cast _mcount args to u_long, to avoid lint warnings. 1998-11-13 13:50:52 +00:00
thorpej 49c62c4336 Changes to support fork_kthread():
- cpu_set_kpc() now takes void *arg third argument, passed to the
  entry point.
- cpu_fork() allows parent to be non-curproc iff parent is proc0.
  When forking non-curproc, assume its state has already been saved.
- Adjust various pieces of machine-dependent code to account of all of this.
1998-11-11 06:41:23 +00:00
bad 28b3386649 Add CPUVENDOR_IDT and CPU_C6. 1998-10-15 13:40:33 +00:00
thorpej 010b1e5215 Erg, frame -> trapframe in last. (thanks to john kohl) 1998-10-07 21:25:35 +00:00
thorpej b38544d99e Oops, back out a buglet I didn't intend to commit in the last change. 1998-10-07 18:29:26 +00:00
thorpej d374462dfc Move the code that does the deferred (post-autoconfiguration) buffer
cache allocation to its own function, and call it at the end of configure().
1998-10-06 21:42:08 +00:00
thorpej d681cf055a configure() prototype is in <sys/device.h> 1998-10-06 20:50:15 +00:00
thorpej 10557b15d7 Add a private bounce threshold to the DMA map, initialized in a bus-dependent
fashion.
1998-10-03 21:24:00 +00:00
christos 36f308f4cc Add an LDT for Solaris-2.6 syscalls [from Frank] 1998-10-03 18:05:25 +00:00
jtk 787fcfeac7 copyright has been assigned to TNF, update notice 1998-10-03 02:14:30 +00:00
erh 33dacac36e linux_machdep.h has moved. 1998-10-01 18:32:33 +00:00
erh ccea47d790 Moved to compat/linux/i386/linux_machdep.h. 1998-10-01 02:20:52 +00:00
jtk 358521eba1 add prototype for bioscall() 1998-10-01 02:00:37 +00:00
christos 029ab07a4d delint 1998-09-26 19:21:19 +00:00
thorpej dbebd9b148 Need 13 longs for jmp_buf; signal mask is 128 bits now.
XXX Actually, libc appears to use only 7 of the previous 10, so increasing
the size isn't actually necessary!  But there was a gap at the end before,
so we'll keep it.
1998-09-14 21:31:52 +00:00
thorpej 27f3588d7b oops, missed one. 1998-09-14 02:50:12 +00:00
thorpej cbfc257eda sigset13_t -> int. 1998-09-14 02:48:33 +00:00
thorpej 35c106630e __LIBCxx_SOURCE__ refers to the library major number, not the NetBSD release
number.
1998-09-13 02:18:38 +00:00
thorpej 6351312ff7 Fix thinko in last thinko fix. We always have to store an old style
signal mask since a 1.3 binary may attempt to invoke sigreturn(2) directly
for an alternate exit from the signal handler.  If we don't do this, it will
get a garbage signal mask if it tries to do that.
1998-09-13 01:45:04 +00:00
mycroft 3f2c7263b1 Fix thinko in previous. 1998-09-12 10:48:27 +00:00
mycroft 89ea1fcbdd Version sys_sigreturn, to avoid breaking programs that use it explicitly. 1998-09-12 00:47:12 +00:00
mycroft fb526e055c Substantial signal handling changes:
* Increase the size of sigset_t to accomodate 128 signals -- adding new
  versions of sys_setprocmask(), sys_sigaction(), sys_sigpending() and
  sys_sigsuspend() to handle the changed arguments.
* Abstract the guts of sys_sigaltstack(), sys_setprocmask(), sys_sigaction(),
  sys_sigpending() and sys_sigsuspend() into separate functions, and call them
  from all the emulations rather than hard-coding everything.  (Avoids uses
  the stackgap crap for these system calls.)
* Add a new flag (p_checksig) to indicate that a process may have signals
  pending and userret() needs to do the full (slow) check.
* Eliminate SAS_ALTSTACK; it's exactly the inverse of SS_DISABLE.
* Correct emulation bugs with restoring SS_ONSTACK.
* Make the signal mask in the sigcontext always use the emulated mask format.
* Store signals internally in sigaction structures, rather than maintaining a
  bunch of little sigsets for each SA_* bit.
* Keep track of where we put the signal trampoline, rather than figuring it out
  in *_sendsig().
* Issue a warning when a non-emulated sigaction bit is observed.
* Add missing emulated signals, and a native SIGPWR (currently not used).
* Implement the `not reset when caught' semantics for relevant signals.

Note: Only code touched by the i386 port has been modified.  Other ports and
emulations need to be updated.
1998-09-11 12:50:05 +00:00
christos 2d876282c2 Assign copyright to TNF. 1998-09-05 15:28:06 +00:00
jtk 663e79e90a add 32-bit register support and beginnings of APM V1.2 support 1998-08-31 23:54:32 +00:00
jtk 10ec6359b5 add 32-bit register support to BIOSCALL interface 1998-08-31 23:52:40 +00:00
cgd 5fa7eee1ff don't define __BUS_SPACE_COMPAT_OLDDEFS by default. As stated in
bus_space(9), if drivers want it (they shouldn't; easy to convert) they
can define it right before including bus.h.  There's been a release since
the interfaces were (slightly) changed, and no code in the source tree
uses the old interfaces as far as I can tell.
1998-08-30 23:40:14 +00:00
mycroft c9a799adf6 Assign my copyrights to TNF. 1998-08-15 04:57:50 +00:00
mycroft 6d3d8a1350 Make copyright notices with my name consistent. 1998-08-15 03:02:31 +00:00
thorpej f41c00629b Garbage-collect vm_offset_t and vm_size_t. 1998-08-13 21:36:27 +00:00