Commit Graph

584 Commits

Author SHA1 Message Date
thorpej
dded044fc2 Update for the NKMEMPAGES changes. 2000-02-11 19:25:12 +00:00
thorpej
dc80cc068b Move KERNBASE to 0xc0000000, giving the kernel a more-or-less full 1G
of virtual address space, leaving userland with 3G, and update comments
to match the new reality.

We knew we were going to have to bite this bullet eventually, and there
are a couple of outstanding PRs related to this issue (9389 and 9313).
Complete solution to those PRs is going to involve some sort of run-time
decision on how large kmem_map should be, as well as changing some data
structure allocation strategies in UVM.  However, this change will at
least allow the PR submitter to simply throw resources at the problem.
2000-02-11 07:00:11 +00:00
thorpej
52a2804a5c Add a new function call to the ISA DMA API: isa_dmamaxsize(), which returns
the maximum transfer size for the specified DMA channel.  Make all clients
of ISA DMA use this call to determine their maximum transfer size.
2000-02-07 22:07:27 +00:00
kleink
36e6bc645e Improve namespace test macros a bit. 2000-02-05 14:04:36 +00:00
cgd
253b179629 clean up (group, sort) __HAVE_* defines 2000-02-05 00:07:30 +00:00
kleink
82464e46d6 Add a C99-style va_copy macro. 2000-02-03 16:16:06 +00:00
danw
f77befbc84 #define __HAVE_DEVICE_REGISTER on ports that have it, and check for
that, rather than a list of architecture defines, in config_attach
2000-02-01 04:01:19 +00:00
drochner
799634df70 next step in getting machdep.c maintainable - put bus_space related
stuff into a separate file
2000-01-26 18:47:59 +00:00
tsutsui
b0fbaa33fb Remove obsoleted macros. 2000-01-26 09:44:10 +00:00
drochner
8eb798e603 define a "BUS_SPACE_MAP_PREFETCHABLE" flag which basically means that
device accesses are idempotent (but should not be cached by the CPU)
2000-01-25 22:13:17 +00:00
mycroft
c26054b799 Delint. 2000-01-22 22:40:58 +00:00
matt
100b64e3c6 Add some i386 defines. 2000-01-10 03:03:54 +00:00
kleink
693059feda const -> __const and include <sys/cdefs.h> earlier; fixes PR lib/9052
by Takahiro Kambe.
2000-01-04 14:20:05 +00:00
kleink
11e6c54cfc C99: Define a NAN macro in <math.h> which evaulates to a constant expression of
a single-precision quiet NaN; only to be defined on platforms that do support
this value.
1999-12-23 10:15:05 +00:00
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