Commit Graph

200 Commits

Author SHA1 Message Date
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
kleink e1529b8f93 Pull in the right generic m68k header. (Where was my mind?) 1999-04-29 14:38:39 +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
kleink ed74932033 Add COMPAT_SVR4 for m68k. 1999-04-19 21:22:56 +00:00
leo 98732be4ba Export mtpr.h :-( This is because cpu.h depends on it. Probably userland
should not need cpu.h...
1999-03-31 10:48:00 +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
cgd 3f10df3001 Moved from arch/atari/isa/isa_machdep.h,v 1999-03-19 05:01:57 +00:00
cgd bd032fb46a Moved from arch/atari/pci/pci_machdep.h,v 1999-03-19 03:35:58 +00:00
cgd 096f58d900 Moved from arch/atari/isa/isapnp_machdep.h,v 1999-03-19 03:18:00 +00:00
minoura e518820ca8 Pullin m68k/ieee.h. 1999-03-15 11:55:53 +00:00
leo 206c18b1cb Dump max. datasize (MAXDSIZ) to 64MB and decouple the maximum stack size
(MAXSSIZ) from the MAXDSIZ.
1999-03-03 16:25:01 +00:00
is f71d843a65 synchronize types, and s/curproc/p/ in one forgotten place 1999-02-26 22:37:57 +00:00
is 84971e3a6f mac68k part of pr 6152 fix, and missing bits for the others 1999-02-25 23:13:39 +00:00
is 7cf63be6cb Atari part of fix for pr 6152 1999-02-25 22:47:18 +00:00
mycroft 3e6e3322d8 Format consistency. 1999-01-24 12:56:51 +00:00
mycroft 082204fa3d Standardize format. 1999-01-22 14:12:07 +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
leo be84171b70 Make the abs_copy functions usable. The previous implementation caused
kernel "jump to zero" panics....
1999-01-08 09:25:33 +00:00
thomas 75c4b3bf70 Changed grf mmap that it is closer to XFree. VGA memory on et4000/et6000
is now at offset 0xa0000.
1998-12-20 14:32:34 +00:00
leo 7cce2beefa Fix the __abs_copy() macro (wrong parameters to __abs_opname). 1998-12-01 15:32:28 +00:00
leo dee282eb12 You also need intr.h, psl.h, pte.h and vmparam.h to build the world... 1998-11-24 15:16:48 +00:00
leo c9971df573 Follow the amiga vmparam.h, from Ignatios:
Yet another workaround for pmap bugs. Several reports on the port-amiga
list claim this helps with some big-machine situations.
1998-11-20 13:01:12 +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
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 d681cf055a configure() prototype is in <sys/device.h> 1998-10-06 20:50:15 +00:00
thorpej 5006dbf868 cpu_set_kpc() prototype is already in <sys/systm.h>. 1998-10-05 22:11:15 +00:00
mycroft 7b15b3b56d Minor change. 1998-09-13 12:01:41 +00:00
leo fcfae9e5df Get rid of vm_offset_t/vm_size_t 1998-09-02 14:58:01 +00:00
leo a3b886d834 Reorganize installation if include files. Nuke some from atari/include as
they make no sense out of the kernel add some from atari/dev (ioctl's).
1998-09-02 10:59:14 +00:00
is 6054d626f9 Switching dev/ic/lpt.c to use spllpt() instead of spltty(). It doesn't use
tty structures, and on some machines (namely the DraCo internal lpt, and some
multi-i/o boards for Amigas and DraCos), tying spltty to the pretty high printer
interupt level would hurt serial performance.

On all affected ports but Amiga, spllpt() has been defined in machine/intr.h
to be spltty(), thus preserving old behaviour. Portmasters are encouraged to
change is, if they feel something else is better (e.g., one of its own were
possible).
1998-07-18 21:27:25 +00:00
veego 1b46ebe1d9 Add elf_machdep.h to the INCS list. 1998-07-12 17:53:29 +00:00
thorpej 639cc899cf Basic elf_machdep.h for m68k; doesn't include relocations, yet. 1998-07-12 01:17:58 +00:00
thorpej 1ea93eea1c Define one page free list, and put all pages on it. 1998-07-08 04:35:23 +00:00
cgd 651b44e211 Rework the way kernel include files are installed. In the new method,
as with user-land programs, include files are installed by each directory
in the tree that has includes to install.  (This allows more flexibility
as to what gets installed, makes 'partial installs' easier, and gives us
more options as to which machines' includes get installed at any given
time.)  The old SYS_INCLUDES={symlinks,copies} behaviours are _both_
still supported, though at least one bug in the 'symlinks' case is
fixed by this change.  Include files can't be build before installation,
so directories that have includes as targets (e.g. dev/pci) have to move
those targets into a different Makefile.
1998-06-12 23:22:30 +00:00
leo b8dad8ab1f Fix some severe bogons in the pci and isa interrupt system. 1998-05-25 10:42:21 +00:00
leo ef7f50804b Add bus_space_{read,write}_region_stream_N functions. 1998-05-25 09:08:08 +00:00
leo 4eb4a78df8 Implement MACHINE_NEW_NONCONTIG. Implementation is based on Ignatios' amiga
implementation and Chuck's conversion description.
1998-05-07 07:25:51 +00:00
leo bc9ebf17a7 Major overhaul of the atari bus_space implementation. 1998-04-10 08:19:53 +00:00
leo 0dd40d6952 Bus-dma implementation for the atari. Heavily based on the i386
implementation.
1998-03-10 11:42:53 +00:00
leo c281cb0e23 Update Hades PCI support:
- Initialize the PCI bus and hand-out mem and i/o addresses. (there is
    still lots of room for improvements here...)
  - Implement the interupt functions
1998-02-19 16:16:51 +00:00
cgd 3bbb7f7d45 Move pmap_map() function definition to MD headers, as appropriate. It's
an internal function, and the VM system shouldn't try to prototype it.
(Note that some ports _don't_ prototype it.)
1998-02-18 02:05:32 +00:00
mycroft b5c132e4d2 Prototype __flt_rounds() consistently. 1998-02-03 01:26:20 +00:00
leo bb4f2f4ebe Add: bus_space_{read,write}_region_N() and bus_space_set_{multi,region}_N()
functions.
1998-01-16 09:17:48 +00:00
thorpej 61567b54de Garbage-collect pm_stchanged; it's not used by anything. 1998-01-06 07:02:58 +00:00
thorpej d11b109f2b Garbage-collect use of the PCB's copy of the user segment table pointer. 1998-01-06 06:51:40 +00:00
thorpej ab9b250a37 The user segment table pointer is no longer kept here. Change it to
a spare field.

XXX Should be changed to use generic m68k PCB!
1998-01-06 06:47:04 +00:00
thorpej b9f1b716f3 Now that all ports have pmap_activate(), and it has an identical interface,
prototype it in <vm/pmap.h>
1998-01-03 01:12:59 +00:00
thorpej dd966fca05 Change an argument name to PMAP_ACTIVATE() to more accurately describe the
semantics of the argument.
1998-01-01 20:05:23 +00:00
thorpej 287b63b321 - Make pmap_activate() and pmap_deactivate() take a struct proc *.
- Define active_user_pmap() and use it in the appropriate places (from hp300
  port).
1998-01-01 19:52:50 +00:00
is a16fd7d74e Make these compile after m68k/m68k.h 1.4->1.5. 1997-10-26 21:41:34 +00:00
leo 6ecab62b97 VM_MAX_ADDRESS is the user max address -- adjust (From Chris Hopps). 1997-10-10 11:05:53 +00:00
jtc 324ce8d6cb Fix tipo inherited from old version of TNF copyright template. 1997-10-09 07:37:50 +00:00
leo c5ba7a3102 Move the definition of MSGBUFSIZE up to the machine-arch level if
possible. Pointed out by Bernd Ernesti.
1997-09-20 12:06:37 +00:00
leo d4713d24c2 Implement the kernel part of pr-1891. This allows for a more flexible sized
msgbuf. Note that old 'dmesg' and 'syslogd' binaries will continue running,
though old 'dmesg' binaries will output a few bytes of junk at the start of
the buffer, and will miss a few bytes at the end of the buffer.
1997-09-19 13:52:37 +00:00
leo 571340263d Small readability update. 1997-09-15 11:08:38 +00:00
leo 225274f8b4 Add BUS_SPACE_MAP_* macro's. 1997-09-02 11:19:02 +00:00
leo 16bdafc3a5 Pull in Scott Reynolds' version of _splraise(). Also do a bit of typographic
cleanup while visting this file.
1997-08-29 19:47:52 +00:00
leo ec7ce2c9f8 Isabus support. 1997-07-15 08:25:39 +00:00
leo ce96a8a2e4 Implement bus_space_subregion() 1997-07-15 06:49:56 +00:00
perry ad1710ce1e update comment from 1981 on memory and disk prices -- pr-2754 from Curt Sampson 1997-07-12 16:18:36 +00:00
veego 1c599835b4 Restore the defines of UPAGES and NPTEPG. 1997-07-10 08:22:36 +00:00
leo 61d060feec Add the types for 'bus_dma_tag_t' and 'bus_dmamap_t'. While here, be a bit
more precise in using types of the bus_space* address arguments.
1997-06-25 12:06:10 +00:00
mrg dc6a98e92c bring mrg-vm-swap2 onto mainilne. 1997-06-12 15:09:23 +00:00
kleink c41a940888 GC obsolete MDP_AST flag. 1997-06-11 08:58:09 +00:00
veego 6304388ee4 The 'Mach derived conversion macros' are now in <m68k/param.h> 1997-06-10 18:47:21 +00:00
veego 011ba826e7 s/atari_btop/m68k_btop/ 1997-06-10 18:46:30 +00:00
veego 931d90fcee Use the MI <m68k/param.h> include. 1997-06-10 07:54:35 +00:00
leo 327cf04b4b Implement and use splraise(). 1997-06-05 19:38:16 +00:00
leo 37325cfb41 More stuff for handling an 68060. 1997-06-02 12:03:40 +00:00
thorpej 06e6038b3f regdump() is prototyped in <m68k/cpu.h> now 1997-04-09 19:46:04 +00:00
is 07b064e02e New ARP system, supports IPv4 over any hardware link.
Some of the stuff (e.g., rarpd, bootpd, dhcpd etc., libsa) still will
only support Ethernet. Tcpdump itself should be ok, but libpcap needs
lot of work.

For the detailed change history, look at the commit log entries for
the is-newarp branch.
1997-03-15 18:09:08 +00:00
leo b170f473ba Add bus_space_peek_[1248] functions. These can be used by match/probe
functions.
1997-03-03 12:28:20 +00:00
leo 2d43c4a079 Allow MCLSHIFT to be overridden by a config option. 1997-02-26 12:22:06 +00:00
leo 9324e8d0ed Move all spl-related stuff to the new file intr.h. The latter file also
contains some generic defines used by the drivers in dev/[pci|isa].
1997-02-26 12:18:50 +00:00
fvdl 115b6d92fa Define ALIGNED_POINTER 1997-02-24 23:16:53 +00:00
perry 19d153fc48 Nuke some options GENERIC residue. 1997-02-04 04:57:10 +00:00
leo eaf90deff5 Fix typo's in last commit. 1997-01-27 10:18:33 +00:00
leo 4a5570d41e Make MCLBYTES 2K. 1997-01-27 07:58:09 +00:00
leo 7145c74ac3 Change the type of bus_space_tag_t.
Add the bus_space_(read|write)* functions.
1997-01-27 07:57:12 +00:00
leo c79dcb7c8c Add a 'size' argument to badbaddr(). This is very useful on busses that
only accept certain size accesses on a specific address range. Like the
VME bus.
1997-01-21 20:37:03 +00:00
leo da93afbd05 Get rid of 'cpu040' variable. Use 'mmutype' or 'cputype' for testing
instead.
1997-01-03 22:54:22 +00:00
leo 291ced55a4 Get rid of BROKEN_INDIRECT_CONFIG 1996-12-20 12:49:35 +00:00
leo 421158437b Tweak the clockframe structure a bit so we are able to save a few cycles
at interrupt time. (From Gordon Ross).
1996-12-18 12:35:19 +00:00
cgd 96acdadef7 First step inn removing config_scan() and the hacks that gave devices
on indirect-config busses a (permanent) softc that they could share
between 'match' and 'attach' routines:

Define __BROKEN_INDIRECT_CONFIG so that old autoconfiguration
interfaces are used, until drivers are converted to use the new
interfaces (actually, converted back to use the _older_ interfaces)
which prohibit indirect configuration devices from receiving a softc
in their match routine that they can share with their attach routine.
1996-12-05 00:13:47 +00:00
leo 8481cf5e5b Adapt to changes in the bus-interface; bus_[mem|io] -> bus_space. Thanks Jason. 1996-11-08 14:21:02 +00:00
leo 8d079317a6 pmap_changebit() no longer static. 1996-11-06 15:33:56 +00:00
leo f2501673f5 Prototytpe bus_mem_map/bus_mem_unmap functions. 1996-11-06 15:33:05 +00:00
leo 599db9a26c Nuke declaration of susword(). It's declared in systm.h now. 1996-10-25 20:02:34 +00:00
christos 17f5b2a175 backout previous kprintf changes 1996-10-13 04:10:34 +00:00
christos 60dd5ceebe printf -> kprintf, sprintf -> ksprintf 1996-10-11 00:06:28 +00:00
cgd e36e19cf1e repoint at shared aout_machdep.h, not exec.h 1996-10-08 13:07:26 +00:00
cgd 472889f8e4 moved to aout_machdep.h (via repository copy) 1996-10-08 12:57:37 +00:00
leo 84ed172edb Minimal bus.h. Together with the minimal pci implementation, we have just
enough functionality to find a VGA card....
Will be expanded when I buy more pci-cards ;-)
1996-10-05 21:45:30 +00:00
leo 8e7f6c2cf5 Catchup with -current:
- Extra argument to boot()
  - select -> poll
1996-09-25 15:03:20 +00:00
thorpej e469c7beca Use <m68k/cpu.h>. 1996-09-11 00:11:42 +00:00
leo 7a87b91e9b Add suline/susword prototypes for new trap.c 1996-09-10 08:45:16 +00:00
thorpej de5110f41e Use <m68k/exec.h>. 1996-09-08 01:00:35 +00:00
leo 2df99561c9 - Make the Hades a valid machine type
- Add some 68040 specific prototypes.
1996-08-23 11:21:01 +00:00
leo 0f6a2c3cef - Make all definitions relative to 'stio_addr'
- Add the PCI areas.
1996-08-23 11:17:00 +00:00