Commit Graph

1740 Commits

Author SHA1 Message Date
scw 2963ff5c58 Add `l_poll' to `struct linesw' and provide an xxxpoll() entry point
in each tty driver to indirect through it.

This allows tty line-disciplines to handle poll(2) system calls.
2001-05-02 10:32:08 +00:00
thorpej cf67ac7122 Per discussion w/ chuck and chuck, restructure the md page stuff
to use a structure called "vm_page_md", and use __HAVE_VM_PAGE_MD
and __HAVE_PMAP_PHYSSEG.
2001-05-01 02:19:13 +00:00
thorpej 2b27ac7a99 Add a VM_MDPAGE_MEMBERS macro that defines pmap-specific data for
each vm_page structure.  Add a VM_MDPAGE_INIT() macro to init this
data when pages are initialized by UVM.  These macros are mandatory,
but ports may #define them to nothing if they are not needed/used.

This deprecates struct pmap_physseg.  As a transitional measure,
allow a port to #define PMAP_PHYSSEG so that it can continue to
use it until its pmap is converted to use VM_MDPAGE_MEMBERS.

Use all this stuff to eliminate a lot of extra work in the Alpha
pmap module (it's smaller and faster now).  Changes to other pmap
modules will follow.
2001-04-29 22:44:31 +00:00
bouyer 937a7a3ed9 Pull up the thorpej_scsipi branch to main branch.
This is a completely rewritten scsipi_xfer execution engine, and the
associated changes to HBA drivers. Overview of changes & features:
- All xfers are queued in the mid-layer, rather than doing so in an
  ad-hoc fashion in individual adapter drivers.
- Adapter/channel resource management in the mid-layer, avoids even trying
  to start running an xfer if the adapter/channel doesn't have the resources.
- Better communication between the mid-layer and the adapters.
- Asynchronous event notification mechanism from adapter to mid-layer and
  peripherals.
- Better peripheral queue management: freeze/thaw, sorted requeueing during
  recovery, etc.
- Clean separation of peripherals, adapters, and adapter channels (no more
  scsipi_link).
- Kernel thread for each scsipi_channel makes error recovery much easier
  (no more dealing with interrupt context when recovering from an error).
- Mid-layer support for tagged queueing: commands can have the tag type
  set explicitly, tag IDs are allocated in the mid-layer (thus eliminating
  the need to use buggy tag ID allocation schemes in many adapter drivers).
- support for QUEUE FULL and CHECK CONDITION status in mid-layer; the command
  will be requeued, or a REQUEST SENSE will be sent as appropriate.

Just before the merge syssrc has been tagged with thorpej_scsipi_beforemerge
2001-04-25 17:53:04 +00:00
thorpej fe664428c8 Garbage-collect pmap_page_index(). 2001-04-25 17:35:00 +00:00
thorpej 1c3a62e066 Sprinkle pmap_update() calls after calls to:
- pmap_enter()
- pmap_remove()
- pmap_protect()
- pmap_kenter_pa()
- pmap_kremove()
as described in pmap(9).

These calls are relatively conservative.  It may be possible to
optimize these a little more.
2001-04-24 04:30:50 +00:00
thorpej a5dd88f940 Add local prototype for internal pmap_bootstrap_alloc() function. 2001-04-23 23:57:49 +00:00
thorpej 55044638aa Remove pmap_kenter_pgs(). It was never really adopted by
anything, and the interface itself wasn't as flexible as
callers would have probably liked.
2001-04-22 23:42:11 +00:00
thorpej 69abdbf60c Undo a misguided previous change to the pmap_update() API. 2001-04-22 23:19:26 +00:00
thorpej 4738622712 Give pmap_update() an argument (a pmap_t) so that it knows which
pmap it should be updating.
2001-04-22 00:33:59 +00:00
thorpej 7f10ba88b1 #define away pmap_update() in <machine/pmap.h> so that no function
call overhead is incurred as we start sprinkling pmap_update() calls
throughout the source tree (no pmaps currently defer operations, but
we are adding the infrastructure to allow them to do so).
2001-04-21 23:51:14 +00:00
kleink f06533a1ee Add definitions of C99 integer format conversion macros.
XXX Fastest minimum-width integer types haven't been decided upon yet.
2001-04-15 17:13:04 +00:00
kleink 739cb75837 Add definitions of C99 specified-width integer type limits.
XXX Fastest minimum-width integer types haven't been decided upon yet.
2001-04-15 15:29:02 +00:00
kleink cdcf9f46c5 Add definitions of C99 integer constant macros.
Tidy Makefiles up a little.
2001-04-14 22:46:19 +00:00
kleink a7c20e5788 Add definitions of C99 integer constant macros. 2001-04-14 22:38:33 +00:00
kleink 7affdab52e Add definitions of C99 minimum-width and greatest-width integer types.
XXX Fastest minimum-width integer types haven't been decided upon yet.
2001-04-14 12:19:49 +00:00
thorpej bf2dcec4f5 Remove the use of splimp() from the NetBSD kernel. splnet()
and only splnet() is allowed for the protection of data structures
used by network devices.
2001-04-13 23:29:55 +00:00
petrov 1c9cc1b092 use NCR_F_DMASELECT instead of ncr53c9x_dmaselect 2001-03-29 03:30:19 +00:00
chs ded6fe39cd bump version to 1.9: ELF and MI loadfile(). 2001-03-26 15:36:48 +00:00
tsutsui 7e28d29b32 - MI loadfile() returns a file descriptor, not errno.
(error is printed in MI loadfile() anyway)
- Make sure to try to load all default kernel names,
  including netbsd.sun3[x].

Now sun3 ELF based miniroot works properly on my 3/80.
2001-03-26 11:54:50 +00:00
lukem 723cd818d8 move duplicate definitions for:
pc, lpt, joy, ocis, apm, satlink, i4bctl, i4brbch, i4btel, i4btrc, i4b
from the port-specific arch/*/*/conf.c files into sys/conf.h
2001-03-21 22:25:52 +00:00
tsutsui 8c60f09e43 - Use ${PRINTOBJDIR}
- size -> ${SIZE}
2001-03-21 14:08:03 +00:00
tsutsui 45480ac3bc Move rules to create m68k and machine symlinks to common Makefile.inc. 2001-03-21 13:43:58 +00:00
tsutsui 34e44075e0 - Remove "NOMAN= yes"
- Use "WARNS?= 1" rather than add warning options to COPTS.
2001-03-21 11:08:52 +00:00
tsutsui 650e6506dc Remove "NOxxx= yes" lines since "MKxxx= no" is enough. 2001-03-21 11:02:24 +00:00
tsutsui 9ae0cb4d12 Make sure to create m68k and machine symlinks to include loadfile_machdep.h. 2001-03-21 10:58:54 +00:00
chs ac3bc537bd eliminate the KERN_* error codes in favor of the traditional E* codes.
the mapping is:

KERN_SUCCESS			0
KERN_INVALID_ADDRESS		EFAULT
KERN_PROTECTION_FAILURE		EACCES
KERN_NO_SPACE			ENOMEM
KERN_INVALID_ARGUMENT		EINVAL
KERN_FAILURE			various, mostly turn into KASSERTs
KERN_RESOURCE_SHORTAGE		ENOMEM
KERN_NOT_RECEIVER		<unused>
KERN_NO_ACCESS			<unused>
KERN_PAGES_LOCKED		<unused>
2001-03-15 06:10:32 +00:00
chs c6798f2107 add vers.c to CLEANFILES. 2001-02-26 01:42:51 +00:00
chs a95226826d switch sun3 to ELF. highlight include:
add "%" prefix to register names in assembly code.
change assembly functions to return values in %a0 instead of %d0.
C symbols no longer prepend an underscore, adjust assembly code for this.
32-bit values are now 32-bit aligned instead of 16-bit aligned,
adjust structure packing and padding to override this where necessary.
make EXEC_ELF std, make EXEC_AOUT and COMPAT_AOUT_M68K optional.
use the MI loadfile() instead of several home-grown versions.
2001-02-22 07:11:08 +00:00
chs 044409a035 reduce PAGER_MAP_SIZE to 4MB, we're short on KVA. 2001-02-21 02:43:02 +00:00
tsutsui 968d0f81c6 Adjust only avail_end address rather than reduce
the last bank size of avail_mem[] so that all RAM area
will be dumped in dumpsys().
2001-02-20 12:52:57 +00:00
jmc 5b5b0dfdcb Add back proginstall rule so this doesn't get it's a.out header removed. 2001-02-13 03:08:54 +00:00
tsutsui 452f5212ff Use common %cacr definitions between sun3 and sun3x.
%cacr bits added on 68030 don't cause any sideeffect on 68020.

XXX: We probably need <m68k/cacr.h>. See comments in <m68k/cpu.h>.
2001-02-07 14:28:50 +00:00
jmc 7ce76feecc In the LKM section add some things the LKM's need (since they aren't
defining _SUN3_ or _SUN3X_ generally to pickup the full vmparam.h

Added MAXDSIZ (set to sun3's limit) and VM_NFREELIST
2001-02-04 10:16:03 +00:00
jmc e1fb29e236 Make targets proper so this builds both as a make with no args, make all
or make dependall (without the latter snapshot builds break).

Also, change the build layout for the 2 standalone objs.

XXX - Add them to LOBJS. (We're not building lint libraries, but having them
in LOBJS and MKLINT=no results in objects building anyways. This needs to be
cleaner but nothing in the standard mk files jumps out as "other object files")
2001-02-04 08:59:57 +00:00
jmc 17a976fa32 Make targets proper so this builds both as a make with no args, make all
or make dependall (without the latter snapshot builds break).

Also, add udp.c into the SRCS list. rpc.c calls routines from it.
2001-02-04 08:57:52 +00:00
jmc 243eb5180a Make targets proper so this builds both as a make with no args, make all
or make dependall (without the latter snapshot builds break).
2001-02-04 08:57:21 +00:00
tsutsui 20c4de8a40 Move cachectl1() declaration from sun3/machdep.h to include/cpu.h;
it is refered by sys/compat/linux/arch/m68k/linux_machdep.c.

XXX: all declarations in machdep.h should be moved into cpu.h?
2001-02-04 01:31:54 +00:00
tsutsui a031d05fa8 Add -D__m68k__ to XDEF.
It is required by sys/compat/linux/common/linux_exec.h.

XXX: -undef is still required?
2001-02-04 01:26:44 +00:00
tsutsui 4f047d1990 Bring FPU probe code from atari/fpu.c and remove unneeded includes. 2001-02-03 14:30:42 +00:00
tsutsui b26a441f6a Remove reg_dump() declaration, which is in <m68k/m68k.h> 2001-02-03 13:02:20 +00:00
tsutsui 8ae17a2c61 Use macro in <m68k/m68k.h> for cputype and mmutype. 2001-02-03 12:59:48 +00:00
tsutsui 497bb4f2ea Remove declaration of copypage() and zeropage(); they are in <m68k/m68k.h> 2001-02-03 12:57:05 +00:00
tsutsui 5f9454752b m68k/m68k.h is now pulled via machine/cpu.h. 2001-02-03 12:55:35 +00:00
tsutsui fdddc67af0 Remove declaration of getdfc(), getsfc() and fputype.
They are in <m68k/m68k.h>
2001-02-03 12:53:23 +00:00
tsutsui 31a0a141cb Include <m68k/m68k.h> to use m68k common definitions. 2001-02-03 12:50:53 +00:00
tsutsui a3cd82caf9 Remove declaration of cold; it's in <sys/kernel.h> 2001-02-03 12:46:04 +00:00
tsutsui 53e0e33ba4 Remove some of broken cf_unit usage. 2001-02-03 12:40:58 +00:00
tsutsui 9f8af7c171 Sync with sun3/machdep.c:
> Require the machine-dependant DDB commands to be in db_machine_command_table[]
> and link it directly to db_command_table[] so that it's not necessary
> to do this at runtime. Make db_machine_command_table[] const on all ports.
> g/c now unneded stuff, like db_machine_commands_install(), db_machine_init()
>
> Patch written by enami.
2001-01-26 16:12:12 +00:00
jdolecek 8b24036797 Require the machine-dependant DDB commands to be in db_machine_command_table[]
and link it directly to db_command_table[] so that it's not necessary
to do this at runtime. Make db_machine_command_table[] const on all ports.
g/c now unneded stuff, like db_machine_commands_install(), db_machine_init()

Patch written by enami.
2001-01-22 13:56:55 +00:00