Commit Graph

1439 Commits

Author SHA1 Message Date
leo
975c7a2466 Make this finally compile again. It hasn't worked since the C_LABEL() got in. 2001-09-06 06:24:17 +00:00
thomas
42f770df19 Make the bootblocks build with ELF assembler. 2001-09-05 19:48:12 +00:00
atatat
5f25c01eff Comment out bridge pseudo devices from ports that don't
__HAVE_GENERIC_SOFT_INTERRUPTS.  bridge(4) doesn't compile there.
2001-09-01 23:08:40 +00:00
atatat
97c67a9bae Add bridge pseudo devices to GENERIC configs 2001-09-01 21:52:23 +00:00
simonb
023bdd2bf2 Use comments around the token after a #endif. 2001-08-31 04:44:54 +00:00
tsutsui
62c3bdeea4 sysctl(2) -> sysctl(3) (in comments) 2001-08-26 16:22:20 +00:00
chs
ba2c8088f4 use pmap_k* for buffer cache pages. 2001-08-24 04:34:25 +00:00
chs
c489e9bff4 add missing pmap_update(). 2001-08-19 18:09:20 +00:00
chs
6bc422a7ee use pmap_k* in pagemove() (ie. for buffer cache pages)
and in vmapbuf() and vunmapbuf() (since there's no VAC on this platform).
2001-08-04 07:44:52 +00:00
wiz
79b57114c9 auxilary -> auxiliary 2001-07-26 23:07:57 +00:00
wiz
e11d04474c issueing -> issuing 2001-07-26 22:55:12 +00:00
wiz
035b63a542 auxilliary -> auxiliary 2001-07-26 22:53:13 +00:00
wiz
30b2bf87ed Various typos in comments (neccessary, sceme, choise, ...). 2001-07-26 15:05:07 +00:00
wiz
a9356936b4 seperate -> separate 2001-07-22 13:33:58 +00:00
thorpej
babefc5331 Add BUS_DMA_READ and BUS_DMA_WRITE flags, that hint the back-end
at dmamap load time that the mapping will be used for a unidirectional
transfer of the specified direction.
2001-07-19 15:32:10 +00:00
leo
932578f354 Remove __BROKEN_CONFIG_UNIT_USAGE. 2001-07-10 20:23:36 +00:00
leo
522fff268d Nuke another cf_unit abuse. 2001-07-10 20:21:30 +00:00
leo
7a2ca439a7 defopt atari scsi options. 2001-07-09 14:49:49 +00:00
leo
7a68fa7e1d Regen. 2001-07-09 14:01:09 +00:00
leo
3c70de7dc9 Remove Ident. 2001-07-09 13:37:38 +00:00
leo
21315cd1f5 Add SysV Semaphore tunables. 2001-07-09 13:37:06 +00:00
leo
9c4c15292b Nuke some cf_unit abuses. 2001-07-09 12:06:35 +00:00
wiz
cc0b68092e Correct various misspellings of 'transfer' and inflected forms. 2001-07-08 18:06:42 +00:00
abs
29dcb5e3f6 (Regenerated atari and amiga)
Standardise TCP_COMPAT_42 as commented out, grouped with other COMPAT options,
and with the comment '4.2BSD TCP/IP bug compat. Not recommended'
Add commented out 'TCP_DEBUG # Record last TCP_NDEBUG packets with SO_DEBUG'
(All hail amiga and atari which make some attempt to automate the
multiplicity of config files...)
2001-07-08 16:34:03 +00:00
abs
01b024cd5b Standardise TCP_COMPAT_42 as commented out, grouped with other COMPAT options,
and with the comment '4.2BSD TCP/IP bug compat. Not recommended'
Add commented out 'TCP_DEBUG # Record last TCP_NDEBUG packets with SO_DEBUG'
(All hail amiga and atari which make some attempt to automate the
multiplicity of config files...)
2001-07-08 16:32:12 +00:00
leo
ad5b48bcb8 Make the compile with diagnostic. 2001-06-20 10:24:22 +00:00
wiz
ccfe29f3cf Symmetric has one s and two m's. 2001-06-18 11:23:00 +00:00
christos
0f380fac15 Add an e_trapsignal member to struct emul, so that emulated processes can
send the appropriate signal depending on the trap type.
2001-06-18 02:00:48 +00:00
wiz
40ac848024 Fix various misspellings of compatible/compatibility. 2001-06-11 01:50:48 +00:00
simonb
e5bd00e48d For ports that wire up pciide in compatibility mode, have
them define __HAVE_PCIIDE_MACHDEP_COMPAT_INTR_ESTABLISH
in pci_machdep.h and pciide_map_compat_intr() only calls
pciide_machdep_compat_intr_establish() if that preprocessor
define exists.

Ports that don't need to do this no longer need to supply a
dummy function.
2001-06-08 04:48:54 +00:00
leo
3aa99cbeac We really need a wsdisplay on the Milan. 2001-06-07 08:41:11 +00:00
leo
e371e8a5ae Try to search for an isa bus during console configuration too... Otherwise,
we miss the console keyboard on the Milan.
2001-06-07 08:35:29 +00:00
leo
3700ec551e The newly generated config files. 2001-06-07 08:01:19 +00:00
leo
d355dc319f Oops, we don't want 'MILAN' anymore.... 2001-06-07 08:00:24 +00:00
leo
3bc0965e01 Everything you always wanted to know about Atari,Milan,IDE and byteswaps...
The Milan configuration is split up in 2 parts:
   - MILAN_ISAIDE
   	Supports the traditionally formatted IDE disks on the Milan
   - MILAN_PCIIDE
   	Supports the byte swapped formatted IDE disks on the Milan

If you want to read more, checkout the comment in MILAN.in...
2001-06-07 07:56:57 +00:00
leo
92a2e67c31 Remove the atari specific incarnation of wdc_isa.c. We don't need it (in
fact it didn't work that well either), all could be done by simply adding the
NOSTREAM options to the flags of the generic ISA frontend.
There was probably to much byteswapping in my brain when I invented this.
2001-06-07 07:23:02 +00:00
chs
821ec03ed9 replace vm_map{,_entry}_t with struct vm_map{,_entry} *. 2001-06-02 18:09:08 +00:00
lukem
d84d2c6c85 add missing #include "opt_kgdb.h" 2001-05-30 15:24:23 +00:00
leo
49927dd845 Add itepoll() prototype as suggested by 'maximum entropy' (pr#13047). 2001-05-30 14:25:07 +00:00
mrg
67afbd6270 use _KERNEL_OPT 2001-05-30 11:57:16 +00:00
leo
3c596b34a3 We need the fonts for pci_vga too... 2001-05-29 10:39:56 +00:00
leo
bb159c932e Regen. 2001-05-29 06:45:56 +00:00
leo
dbacb7c9b6 Move over to pciide. My CDROM drive wouldn't work with the wdcisa attachment,
but it does work with the pciide attachment.
2001-05-29 06:42:21 +00:00
leo
49009d088a Import pciide_machdep.c from i386. 2001-05-29 06:26:08 +00:00
leo
60c1352cd4 Prototype milan_vga_init() 2001-05-29 06:02:26 +00:00
leo
73cc88a7dd Whoops, where did the include of vga_pci.h go? 2001-05-29 06:01:27 +00:00
leo
0f3cd124db Fix compile error. 2001-05-29 05:58:18 +00:00
mrg
3783ca5d30 define _KERNEL_OPT as well as _KERNEL. we will use this in the future to
get kernel "opt_foo.h" headers, rather than _KERNEL && !_LKM.
2001-05-29 02:20:20 +00:00
leo
ed8360b3d7 Add missing semicolon. 2001-05-28 14:40:49 +00:00
leo
2bcf7a5971 Add 'prev_sr' argument to milan_isa_intr() so we can properly defer interrupts
that come in at the wrong time.
2001-05-28 08:41:37 +00:00
leo
b1ff453ae9 Add Milan console initialisation code. 2001-05-28 08:30:03 +00:00
leo
722a3ab56b Add VGA console probes. 2001-05-28 08:12:47 +00:00
leo
a82df0faed Pass iot and memt to check_for_vga() 2001-05-28 07:22:37 +00:00
leo
78dbcfe665 Add bus_space_vaddr(). 2001-05-28 07:16:11 +00:00
leo
be288018e2 PCI_VGA_SIZE -> PCI_MEM_SIZE. (Plus some comments on those constants). 2001-05-28 06:43:19 +00:00
chs
e44e9dec8a replace vm_page_t with struct vm_page *. 2001-05-26 21:27:02 +00:00
chs
118ddca24a replace {simple_,}lock{_data,}_t with struct {simple,}lock {,*}. 2001-05-26 16:32:40 +00:00
leo
cded1f4afe Initialize to CGA mode. Wscons expects this. 2001-05-21 14:30:41 +00:00
leo
b14e1e46e1 Regen. 2001-05-21 14:09:09 +00:00
leo
679b424519 Without __HAVE_NWSCONS, the keyboard won't attach... 2001-05-21 13:30:31 +00:00
leo
cfc3edb550 remove some debugging leftovers. 2001-05-16 08:45:50 +00:00
leo
8406481cd3 Regen. 2001-05-16 07:53:54 +00:00
leo
7cab6084a4 Fix errors in previous commit:
- forgot PCI bus
 - forgot pckbd config
2001-05-16 07:50:29 +00:00
leo
68f5fe6e81 Split pci_machdep into a generic/hades/milan part. There is much difference
in configspace and interrupt handling.
2001-05-15 14:14:48 +00:00
leo
3ac9086605 Add an NMI handler for the Milan. 2001-05-15 13:57:43 +00:00
leo
4a1227bb56 Add some Milan support functions:
- Low level isa interrupt handler
  - NMI fault handler - catches PLX access errors
  - PCI configspace read/write functions
2001-05-15 13:49:56 +00:00
leo
6d7aa9b12e Enable NMI for Milan. It is used for signalling PLX faults. 2001-05-15 13:46:23 +00:00
leo
b38e85279e Allow attachment of a pc-keyboard at console attach time. 2001-05-14 13:18:47 +00:00
leo
6f308f43e8 Add wscons related includes. 2001-05-14 13:10:45 +00:00
leo
b522de8af5 Adapt for the Milan. 2001-05-14 11:58:30 +00:00
leo
4eec72908c Regen. 2001-05-14 10:41:03 +00:00
leo
f284e82b99 Add (ws)console stuff. 2001-05-14 10:35:30 +00:00
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
leo
56ea880f14 Both isa_hades.c and isa_milan.c are also dependent on 'isa' of course... 2001-04-24 10:56:54 +00:00
leo
164b045485 Split the ISA common attachment stuff and the interrupt handling.
There are too many differences between the Hades and Milan in this area.
2001-04-24 06:39:47 +00:00
leo
a1bcd64a89 The register spacing for the Milan is different. 2001-04-24 06:27:58 +00:00
leo
d7512523ba Add sanity checking on register B of the mc146818. 2001-04-24 06:26:48 +00:00
leo
8e9f65f2a7 Don't emit SCU defines when it isn't present. 2001-04-24 06:17:22 +00:00
leo
7488e821c5 Handle cases in which the cpulabel pointer == NULL. 2001-04-24 06:15:42 +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
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
thorpej
15f731ee94 pmap_update() should not be equated with "flush entire TLB", it is
used to process deferred pmap operations.  Since these pmaps don't
defer anything, pmap_update() is a noop.
2001-04-21 17:25:01 +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
leo
ba0a86fa22 There are no level1 or level7 interrupts possible on the Milan... 2001-04-12 09:09:56 +00:00
leo
8507fcec54 Update these for Milan addresses. 2001-04-12 07:17:30 +00:00
leo
3f7694f804 Adapt these for use on the Milan. 2001-04-11 14:45:07 +00:00
leo
247d880fc9 The Milan uses the U0 pin to switch the pci-bridge between little & big
endian mode. That's why I moved the 'wired' flag to U1.
2001-04-10 19:51:00 +00:00
leo
dcc1c6a9fb Take NFDISA into account. 2001-04-10 19:36:20 +00:00
leo
dc0e725f9d full[tc]flush from GLOBAL -> ASLOCAL. 2001-04-10 13:59:10 +00:00
leo
3e3afaaac3 Regen. again... 2001-04-10 07:03:49 +00:00
leo
e3d2d361fd The Hades also uses the TT030 like SCSI driver. Remove 'mouse' here... 2001-04-10 06:46:01 +00:00
leo
2d38da2932 Initial MILAN generic config 2001-04-10 06:39:36 +00:00
leo
e409b5d5df Regen. 2001-04-10 06:39:10 +00:00
leo
99047718f0 fdisa needs-flag... 2001-04-10 06:37:08 +00:00
leo
30f5357c6e Move dma.c away from the mainbus floppy and make it a separate entity with
tag 'mbdma'.
2001-04-10 06:36:08 +00:00
leo
e159fdc910 files.atari:
Defopt motherboard type and make ym2149.c dependend on 'standard' atari
    boards.
Configfiles:
    Add pseudo device mouse. It got dropped in the moves by accident.
2001-04-10 06:28:38 +00:00
leo
dfaa29355b Add a config file for the Milan. Note that you cannot build a working Milan
kernel yet. There are still quite some bits missing in the repository.
2001-04-10 05:56:25 +00:00
leo
1e08d983e3 Move GENERIC to GENERIC.in . This avoids confusion since GENERIC is not a
standalone config file anymore.
2001-04-10 05:52:14 +00:00
leo
adc78de568 Regen. 2001-04-06 21:55:11 +00:00
leo
54d70d6eef Add a 'ser0' device to all. Add ne2000, 3Com 3c59x/3c90x and ESS Solo-1
support to the Hades.
2001-04-06 21:53:39 +00:00
leo
1324cab42e And commit the generated files. 2001-04-05 12:25:15 +00:00
leo
6b22a0776c Forgot this in previous commit. 2001-04-05 12:22:10 +00:00
leo
fb0acfc293 Major overhaul in the config files. The idea is to have the major part of
the generic options in GENERIC instead of duplicated all over the place.
To generate a config file, run 'makeconf'. This script uses cpp to combine
a '.in' file and GENERIC to a real config file.
2001-04-05 12:21:30 +00:00
leo
ad8c9f3a7e Wcd attacment code for the Milan. The Milan has the standard dual IDE port
hardware. A Milan specific attachment is needed to modify the iot so that
the streaming methods do a byteswap.
Configure like:
  wdcisa0 at isa? port 0x1f0 irq 14
  wdcisa1 at isa? port 0x170 irq 15
2001-03-31 20:24:10 +00:00
leo
a054ccd1d4 Add a tag to the fdcisa.c and isa/fd.c files. So they won't be used
unnecessary (and cause trouble).
2001-03-31 20:13:19 +00:00
lukem
20ba07f2fe - add dev_noimpl(xxx,yyy) macro to replace "(dev_type_xxx((*))) yyy",
and use appropriately

- create more helper macros:
   . cdev__xyz_init(c,n), such as cdev__ocri_init() for
     /* open, close, read, ioctl */, etc.
   . cdev__xRy_init(c,n), where nullop is used instead of enodev to dummy out
     method `R' and the comments now read /* xxx (read) yyy */ instead
   . cdev__xyz_t_init(c,n,t) - as per cdev__xyz_init, but sets d_type = t
     as well

- use seltrue instead of dev_noimpl(poll,*), as (IIRC) cdevsw.d_poll should
  always DTRT WRT returning a valid result.  (a few devices previously
  incorrectly returned ENODEV)

- use dev_noimpl(stop,enodev) instead of dev_noimpl(stop,nullop) if tty
  == 0, because it doesn't matter if dev_type_stop isn't implemented in that
  case, and it allows the use of the cdev__xyz_init macros. certain ports
  (sparc,sparc64,x68k) used the nullop method for dev_type_stop in a few
  drivers, whereas everything else uses enodev

- ensure that the comments are accurate WRT the behaviour of a given entry
2001-03-26 12:33:22 +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
soren
912c115675 s/vm_page_alloc_memory/uvm_pglistalloc/ in panic message. 2001-03-21 18:40:28 +00:00
leo
14d2d5706f Conditionalize inclusion of the interrupt handlers for 'kbd', 'zs' and
'ncrscsi' since they are not present on the Milan.
2001-03-17 20:56:31 +00:00
leo
a5fdf3f1cf Atari specific stuff to implement the Milan floppy. The Milan uses standard
ISA floppy hardware. Configure as:
    fdcisa0 at isa? port 0x3f0 irq 6 drq 2
2001-03-16 21:31:55 +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
leo
b44e732ff6 Expand bus_dma implementation. It will now handle the bounce buffer
extensions needed to make the isa floppy driver on the Milan work.
2001-03-09 20:55:46 +00:00
thorpej
2c4c690f14 Add the BUS_DMA_STREAMING flag. 2001-03-07 22:42:16 +00:00
jdc
d22da292a6 Man page moved to share/man/man8/man8.atari. 2001-03-04 20:54:12 +00:00
jdc
b8c15cce4e Man page is now in share/man/man8/man8.atari. 2001-03-04 20:51:51 +00:00
jdc
df594988e2 Add enhancements :
boot sector and bad sector list are preserved by default, use 'z' to change
   type NNNm to make a partition size NNN megabytes
   type `-N' at `root' and `start' prompts to start after partition N
   type `-N' at `size' prompt to end before partition N
   type `-1' at `size' prompt to end at end of disk
   display pauses if 10 or more partitions to display
2001-03-04 20:49:27 +00:00
jdc
8a32449594 Make sure root sector checksum is invalid if we clear it.
Set size of XGM partitions on auxilliary roots correctly.
From Leo Weppelman.
2001-02-25 14:33:19 +00:00
jdc
b2b6b2d9f7 Include <stdio.h> when built with -DDEBUG. 2001-02-25 14:32:59 +00:00
jdc
4a4d440928 Root sector checksums are not always valid, so ignore them.
From Leo Weppelman.
2001-02-25 14:32:20 +00:00
jdc
5c57e3ce2c Make it easier to build with -DDEBUG. 2001-02-25 14:31:53 +00:00
leo
8f10488c29 Prepare assembly parts for an eventual transition to ELF. Mostly from a
diff from Steve Woodford.
2001-02-09 21:47:45 +00:00
leo
50c553e643 Announce page-size to the VM-system. Thanks to Izumi Tsutsui for pointing
this out.
2001-02-01 21:22:55 +00:00
leo
3d1167e274 Fix fallout from lastest tty changes. 2001-02-01 08:59:45 +00:00
leo
9b569c3abe No longer update the PAGE_* variables. They have turned into compile time
constants.
2001-02-01 08:58:03 +00:00
leo
dcee338286 Fix y2001 problem in the initial read of the RTC. 2001-01-29 08:32:23 +00:00
tv
e58532a4bf No-op commit to force update to a non-"-kk" revision. 2001-01-18 17:47:58 +00:00
fvdl
c7f1462f3e Add machdep file for procfs. Currently only used for linux-style
/proc/cpuinfo (only active when procfs is mounted with -o linux).
For ports other than the i386 this currently produces an empty
string.
2001-01-17 00:07:18 +00:00
thomas
16090efe76 Let lpmatch recognice the printer. 2001-01-16 21:13:09 +00:00
thorpej
d74e432ed3 Make softclock a generic soft interrupt of the API is available,
adding the requisite void * argument to softclock().
2001-01-15 20:19:50 +00:00
martin
a261276f16 The i4b raw b-channel devices actually do have an ioctl routine,
so better add this to the cdevsw entry.
Noted by Bruno Achauer.
2001-01-14 11:17:28 +00:00
thorpej
a3ec356d52 splimp() -> splvm() 2001-01-14 03:22:04 +00:00
thorpej
d85a75f583 Make sure everybody has an splvm() and equate it with splimp() (splimp()
is the historical name for this interrupt level, and the historical name
is going to go away in the near future).
2001-01-14 02:00:37 +00:00
martin
f53c899649 Add isdn devices to all archs that seem to support at least one of the
necessary busses. Sync comments with reality for archs that already had
the devices.
2001-01-08 21:46:33 +00:00
leo
0aa3c2b02f Sync machine types with atari/include/cpu.h 2001-01-07 21:24:05 +00:00
leo
427a7dcda0 Kill a typo. 2001-01-07 21:19:05 +00:00
leo
b9a7cb087a Nuke a cf_unit abuse. 2001-01-07 21:17:32 +00:00
leo
fb19421ce8 Expand identify_cpu() for the Milan. 2001-01-07 21:12:31 +00:00
leo
c21ca4d86a Add the Milan as a possible machine type. 2001-01-07 21:08:03 +00:00
leo
3c48826086 Make ahdi_part and ahdi_root 'packed' so I can use this include file on
an x86 machine to analyze my atari disk.
2001-01-07 21:05:16 +00:00
leo
6ad6e22efb Update the printf format in straymfpint() too. 2001-01-07 20:59:29 +00:00
leo
d6ef667612 Fixes for straytrap():
- make it clear that we are printing hex-numbers
        - fix the loop protection.
2001-01-07 20:56:51 +00:00
martin
242656c78a Enable the imported ISDN4BSD based ISDN subsystem.
This is the kernel part (userland to follow soon) of the latest (and
very probably last) release (version 0.96) of ISDN4BSD. ISDN4BSD has a
homepage at http://www.freebsd-support.de/i4b/.

It gives the user various ways to use the isdn connection: raw data (via
the i4brbch "raw b-channel" device), ppp (via the isp "isdn PPP" device),
voice/answering machine (the i4btel "telephone" device) and ip over isdn
(the ipr device, "IP over raw ISDN").

Supported are a bunch of common and older cards, more to be added soon
after some cleanup. Currently only the european E-DSS1 variant of the
ISDN D channel protocol is supported.
2001-01-05 13:09:15 +00:00
sommerfeld
851de295eb Change pci_intr_map to get interrupt source information from a "struct
pci_attach_args *" instead of from four separate parameters which in
all cases were extracted from the same "struct pci_attach_args".

This both simplifies the driver api, and allows for alternate PCI
interrupt mapping schemes, such as one using the tables described in
the Intel Multiprocessor Spec which describe interrupt wirings for
devices behind pci-pci bridges based on the device's location rather
the bridge's location.

Tested on alpha and i386; welcome to 1.5Q
2000-12-28 22:59:06 +00:00
jdolecek
de31133f1d split off thread specific stuff from struct sigacts to struct sigctx, leaving
only signal handler array sharable between threads
move other random signal stuff from struct proc to struct sigctx

This addresses kern/10981 by Matthew Orgass.

XXX I wish m68k ports would share trap.c
2000-12-23 09:35:51 +00:00
scw
4350a7f2b7 Unification of the m68k syscall() function. 2000-12-19 21:09:54 +00:00
tsutsui
cb7f7c7f3b Remove "rnd is EXPERIMENTAL" comments. 2000-12-19 15:51:47 +00:00
bouyer
c71f40d166 Add pseudo-device vlan 2000-12-19 10:42:02 +00:00
jdolecek
cacec11253 delete obsolete comment 2000-12-17 15:52:39 +00:00
jdolecek
ca57e681bd g/c obsolete vtrace(2) stuff 2000-12-13 18:13:05 +00:00
chs
aeda8d3b77 Initial integration of the Unified Buffer Cache project. 2000-11-27 08:39:39 +00:00
jdolecek
17a9fd0da5 split m68k SunOS and SVR4-specific sigcode.s code to sunos_sigcode.s
and svr4_sigcode.s respectively
adjust individual m68k port's locore.s to include new sigcode files if
appropriate
2000-11-26 11:47:23 +00:00
tsutsui
2c7e91a09e Define proper macros for FP frame offsets rather than magic numbers. 2000-11-21 13:54:13 +00:00
tsutsui
20494c8f05 Pull in dev/i2o/files.i2o, which is required by files.pci. 2000-11-21 13:34:57 +00:00
jdolecek
baae0324b9 restructure struct emul and execsw, in preparation to make emulations LKMable:
* move all exec-type specific information from struct emul to execsw[] and
  provide single struct emul per emulation
* elf:
  - kern/exec_elf32.c:probe_funcs[] is gone, execsw[] how has one entry
    per emulation and contains pointer to respective probe function
  - interp is allocated via MALLOC() rather than on stack
  - elf_args structure is allocated via MALLOC() rather than malloc()
* ecoff: the per-emulation hooks moved from alpha and mips specific code
  to OSF1 and Ultrix compat code as appropriate, execsw[] has one entry per
  emulation supporting ecoff with appropriate probe function
* the makecmds/probe functions don't set emulation, pointer to emulation is
  part of appropriate execsw[] entry
* constify couple of structures
2000-11-21 00:37:49 +00:00
chs
c62d17a551 rationalize the use of b_flags for geteblk() buffers.
rather than assigning to the whole field, set or clear individual flags,
which implies that the B_BUSY and B_INVAL flags will remain set.
this allows us to make the assertion in brelse() that B_BUSY is set,
which is the purpose of all this.
2000-11-20 08:24:08 +00:00
thorpej
e6da7eebba We use 8K pages on the Atari. Make PAGE_SIZE and friends into
compile-time constants.
2000-11-14 19:01:09 +00:00
eeh
bc7363329c Adapt to new line discipline scheme. 2000-11-02 00:26:35 +00:00
leo
716d4c3866 Do not pull-in machine/intr.h when _KERNEL is not defined. This fixes
compilation problems in the regression tests.
2000-11-01 12:08:16 +00:00
jdc
9f329676c9 Correct `off by one' error when testing against size of disk. 2000-10-23 06:56:00 +00:00
leo
c36cc80ceb Fix a typo that slipped in with the last round of scheduler changes. The
register numbers were exchanged.
2000-10-09 06:15:02 +00:00
itojun
9e47af8814 enable rnd device. they are now mandatory for ssh/sshd support,
so it makes more sense to enable it.
please disable them if there's any issues, but in that case, in-tree
ssh/sshd won't work.
2000-10-04 03:35:53 +00:00
leo
d7e0d02e8b Add include of <machine/asm.h>. C_LABEL is defined there. 2000-09-30 20:40:34 +00:00
leo
ec2e9cd4c8 Add PCB_REGS_* defines. This makes ddb compile again. 2000-09-30 20:36:40 +00:00
is
2c86369fc4 The Atari pmap does wired page accounting; advertize it to UVM. 2000-09-28 09:09:28 +00:00
leo
670b06c6e0 Move config_console() out of the grf-layer. This allows for more than just
grf-type consoles (wscons). Config_console() is now called from consinit(),
just after setting up the kernel msgbuf, so debugging is easy(er).
To further facilitate this move, the pcibus now allows for early-console
attaches by allocating static bus_space_tags (no mallocs possible at this
point).
2000-09-28 07:26:48 +00:00
leo
6cb04802f1 Nuke cf_unit abuse. 2000-09-28 06:39:52 +00:00
leo
af27893736 Correct some typos. 2000-09-28 06:32:10 +00:00
leo
a89f788198 Move the grfbus out of std.atari. You don't want a grfbus defined on headless
and wscons setups.
2000-09-28 06:19:06 +00:00
jdolecek
b1f94e26ab don't specify number of ptys if >= 16 (current default initial number)
pty comments: normalize and g/c what is no longer relevant
2000-09-24 15:59:26 +00:00
jdolecek
49c105ffdb add new macro BOOT_FLAG() (defined in <sys/boot_flag.h>) - this
maps standard boot flags to corresponding RB_* values
use BOOT_FLAG() in port's MD code as appropriate

as discussed on tech-kern, add new boot flags -v, -q for booting
verbosely or quietly, and corresponding AB_VERBOSE/AB_QUIET
boot flags; also add FreeBSD-compatible bootverbose macro and
NetBSD-specific bootquiet macro

for hpcmips, use new bootverbose instead of it's own hpcmips_verbose

Tested on i386, and to limited extend (compile of affected files) also for
mvme68k, hp300, luna68k, sun3.
2000-09-24 12:32:31 +00:00
thorpej
72a24b4eae Add an align argument to uvm_map() and some callers of that
routine.  Works similarly fto pmap_prefer(), but allows callers
to specify a minimum power-of-two alignment of the region.
How we ever got along without this for so long is beyond me.
2000-09-13 15:00:15 +00:00
jhawk
a022cf9d37 Use
${MAKE}
instead of
  make
2000-08-30 23:51:46 +00:00
leo
6c521b3fcc Now that formatting works (Thanks Nathan!), it shows that spec_read() is
issueing a 'DIOCGPART' at every read. Avoid re-reading the label at
every format-verify (or read/write on the block-device) by fetching the label
at open-time and caching it until we close.
2000-08-29 20:00:16 +00:00
thorpej
4db6fc7542 Make need_resched() take a "struct cpu_info *" argument. This
causes gives a primitive form of processor affinity.  Its use in
roundrobin() still needs some work.
2000-08-25 01:04:06 +00:00
nathanw
5127aa189d In fdioctl(), allocate fd_formb dynamically when needed, rather than on
the stack, and remove the no-longer-necessary PHOLD()/PRELE() calls
in fdformat().

(This eliminates 1/3 of the instances of PHOLD()/PRELE() in the kernel code.)

XXX We still have too many mostly-redundant floppy drivers.
2000-08-24 20:04:28 +00:00
thorpej
58e7a6954b Add spllock(). See spl(9) for details. 2000-08-22 19:46:26 +00:00
leo
67f170f93c Need to specify BINDIR or the executable ends up in / 2000-08-22 14:26:04 +00:00
thorpej
a86d1f4891 Add a lock around the scheduler, and use it as necessary, including
in the non-MULTIPROCESSOR case (LOCKDEBUG requires it).  Scheduler
lock is held upon entry to mi_switch() and cpu_switch(), and
cpu_switch() releases the lock before returning.

Largely from Bill Sommerfeld, with some minor bug fixes and
machine-dependent code hacking from me.
2000-08-20 21:50:06 +00:00
itojun
85dda25e94 move "options PULLDOWN_TEST" into sys/sys/mbuf.h (in #ifdef _KERNEL),
as it is no wthe default setting for everyone.

the reason we still use the name "PULLDOWN_TEST" while it is now default:
kame code sharing.
2000-08-13 01:31:15 +00:00
leo
a9d83b6c6f Add ahdilabel to SUBDIR. 2000-08-07 14:30:39 +00:00
leo
3f496a2588 AHDI label editor 2000-08-07 09:23:40 +00:00
tv
0505a9e28a Eliminate the other %:, using vsnprintf followed by printf. 2000-07-28 15:40:24 +00:00
tv
ce9fd05593 Avoid a nonstandard %: format: printf("%:", fmt, ap) -> vprintf(fmt, ap) 2000-07-28 14:46:37 +00:00
mason
4a353b5330 Moving to a default of 64 PTYs. 2000-07-27 17:53:35 +00:00
jdc
e98c241a12 Make these work with obj directories. 2000-07-23 20:40:44 +00:00
jdolecek
89ccc75157 use _C_LABEL() for bootversion, instead of hardcoding the reference as _bootversion 2000-07-08 14:41:04 +00:00
cgd
0b9c36b715 undef PS after inclusion of net/netisr.h to avoid conflict w/ machine/reg.h 2000-07-02 05:43:43 +00:00
cgd
a5c13f9ad4 Kwality control:
* put #includes of opt headers and headers to get protos used by
  net/netisr_dispatch.h in net/netisr.h (if !defined(_LOCORE)) (rather than
  in netisr_dispatch.h itself, and potentially nowhere, respectively).
* require netisr.h to be included before netisr_dispatch.h.
* minor additional cleanup of both netisr.h and netisr_dispatch.h.
* clean up uses to remove now-unnecessary header file inclusions, and
  local prototypes of the fns.
* convert netisr dispatch implementations which didn't use
  netisr_dispatch.h (pc532) to use it.
2000-07-02 04:40:33 +00:00
itojun
d76ae83df8 add PULLDOWN_TEST for all the platforms.
XXX should be moved to somewhere else when stabilized
2000-06-30 17:10:15 +00:00
mrg
ca5133d3fb remove include of <vm/vm.h>. <vm/vm.h> -> <uvm/uvm_extern.h> 2000-06-29 08:22:17 +00:00
leo
4f253c9e18 When mapping non-cacheable memory with bus_space_map, make sure we use the
precise (serialized) way.
2000-06-29 07:40:04 +00:00
leo
ffa869113a Get 060 CacheCopyBack support in line with the amiga (and working ;-) 2000-06-29 07:36:16 +00:00
mhitch
e87450fc4b Add cdev_decl() to declare mm*() routines. 2000-06-29 01:55:57 +00:00
mrg
e185413725 remove redudant <vm/pmap.h> includes. <vm/pmap.h> -> <uvm/uvm_pmap.h> 2000-06-27 04:18:48 +00:00
kleink
e695f72a2e Add <machine/int_types.h>, which provides namespace-pure definitions
of exact-width integer types.
2000-06-26 15:42:16 +00:00
mrg
2f159a1bac remove/move more mach vm header files:
<vm/pglist.h> -> <uvm/uvm_pglist.h>
	<vm/vm_inherit.h> -> <uvm/uvm_inherit.h>
	<vm/vm_kern.h> -> into <uvm/uvm_extern.h>
	<vm/vm_object.h> -> nothing
	<vm/vm_pager.h> -> into <uvm/uvm_pager.h>

also includes a bunch of <vm/vm_page.h> include removals (due to redudancy
with <vm/vm.h>), and a scattering of other similar headers.
2000-06-26 14:20:25 +00:00
simonb
889c658b5b Change the kernel mmap interface so that the offset to map is an
"off_t" and the return value is a "paddr_t" to allow mappings
at offsets past 2^31 bytes.  Somewhat inspired by FreeBSD, which
only changed the offset to a "vm_offset_t".

Includes updates for the i386, pc532 and sh3 mmmmap from Jason Thorpe.
2000-06-26 04:55:19 +00:00
fvdl
1ee7d22c0b Remove prefix construction for softdeps. Add SOFTDEP option to GENERIC. 2000-06-22 20:27:49 +00:00
veego
223d7455c7 Remove the obsolete config fragments for kernel crypto, because the IPsec
crypto code is now in the kernel source tree.
2000-06-14 22:02:13 +00:00
leo
3e4dbe0e25 Throw in a bunch of _C_LABEL macro's. (Hi Klaus ;-) 2000-06-13 14:48:44 +00:00
leo
30bae800ae Mark 'n' explicitely as output of the 'mulul' instruction. 2000-06-07 14:26:11 +00:00
soren
a9aa2abf94 defopt SYSCALL_DEBUG. 2000-06-06 18:52:30 +00:00
leo
0118b9d71e _qs -> _sched_qs 2000-06-06 13:44:30 +00:00
leo
45c84d3f9c Fix prototype definition of findroot(). 2000-06-06 11:09:46 +00:00
jhawk
c063b64a2b Do not clear msgbufenabled in dumpsys(). Dump messages will now go to
the message buffer. This can be invaluable in debugging if the dump
fails (assuming a persistant message buffer)
2000-06-05 23:44:55 +00:00
cgd
cffb580806 Implement the more flexiable `evcnt' interface as discussed (briefly) on
tech-kern and now documented in evcnt(9).
2000-06-04 19:14:14 +00:00
matt
9169d99f2a Don't pass booted_* to findroot/getdevice, access them via the globals.
Also, make findroot static.  This eliminates unneeded clearing of them
and make their use consistent among the ports.
2000-06-01 15:38:20 +00:00
matt
c9aff328d9 Make booted_device global (and booted_parition for consitency).
Eliminate it from header files and other extern definitions.
2000-06-01 00:49:49 +00:00
cgd
47449a63d2 kill __P in these files. (I had to look at them anyway with an eye for
adding some protos... and adding them with __P seems wrong, but mixing
__P and not __P in the same file seems wrong too, so...)
2000-06-01 00:04:50 +00:00
leo
4b3b8618df Fix some bugs in clkread(). These bugs caused strange time leaps. 2000-05-31 12:27:30 +00:00
thorpej
8871d8563a Add a comment on single-processor systems about p_cpu being initialized
by fork1().
2000-05-31 05:06:43 +00:00
thorpej
e03e9e8086 Rather than starting init and creating kthreads by forking and then
doing a cpu_set_kpc(), just pass the entry point and argument all
the way down the fork path starting with fork1().  In order to
avoid special-casing the normal fork in every cpu_fork(), MI code
passes down child_return() and the child process pointer explicitly.

This fixes a race condition on multiprocessor systems; a CPU could
grab the newly created processes (which has been placed on a run queue)
before cpu_set_kpc() would be performed.
2000-05-28 05:48:59 +00:00
sommerfeld
40339b39f9 Reduce use of curproc in several places:
- Change ktrace interface to pass in the current process, rather than
p->p_tracep, since the various ktr* function need curproc anyway.

 - Add curproc as a parameter to mi_switch() since all callers had it
handy anyway.

 - Add a second proc argument for inferior() since callers all had
curproc handy.

Also, miscellaneous cleanups in ktrace:

 - ktrace now always uses file-based, rather than vnode-based I/O
(simplifies, increases type safety); eliminate KTRFLAG_FD & KTRFAC_FD.
Do non-blocking I/O, and yield a finite number of times when receiving
EWOULDBLOCK before giving up.

 - move code duplicated between sys_fktrace and sys_ktrace into ktrace_common.

 - simplify interface to ktrwrite()
2000-05-27 00:40:29 +00:00
thorpej
a7d0570e67 First sweep at scheduler state cleanup. Collect MI scheduler
state into global and per-CPU scheduler state:

	- Global state: sched_qs (run queues), sched_whichqs (bitmap
	  of non-empty run queues), sched_slpque (sleep queues).
	  NOTE: These may collectively move into a struct schedstate
	  at some point in the future.

	- Per-CPU state, struct schedstate_percpu: spc_runtime
	  (time process on this CPU started running), spc_flags
	  (replaces struct proc's p_schedflags), and
	  spc_curpriority (usrpri of processes on this CPU).

	- Every platform must now supply a struct cpu_info and
	  a curcpu() macro.  Simplify existing cpu_info declarations
	  where appropriate.

	- All references to per-CPU scheduler state now made through
	  curcpu().  NOTE: this will likely be adjusted in the future
	  after further changes to struct proc are made.

Tested on i386 and Alpha.  Changes are mostly mechanical, but apologies
in advance if it doesn't compile on a particular platform.
2000-05-26 21:19:19 +00:00
thorpej
8964c35eca Introduce a new process state distinct from SRUN called SONPROC
which indicates that the process is actually running on a
processor.  Test against SONPROC as appropriate rather than
combinations of SRUN and curproc.  Update all context switch code
to properly set SONPROC when the process becomes the current
process on the CPU.
2000-05-26 00:36:42 +00:00
thorpej
1140468205 Use preempt(), not an open-coded equivalent (which won't be
equivalent for long).
2000-05-24 16:48:33 +00:00
thorpej
463931b3ba Nuke dk_establish() from orbit except from those ports which still use
it to determine the boot device: mvme68k, pc532, macppc, ofppc.  Those
platforms should be changed to use device_register().  In the mean time,
those ports defined __BROKEN_DK_ESTABLISH.
2000-05-16 05:45:44 +00:00
minoura
879e4dbe7c defopt FPSP. 2000-05-14 14:13:50 +00:00
leo
eeecd4445a The console stuff might also be needed by 'ser'. Also update the names of
the serial ports in the comments.
2000-05-09 14:30:47 +00:00
leo
793cd652e3 Add some {u}vm includes for the sake of PHOLD(). 2000-05-09 10:29:01 +00:00
hubertf
9f48bba3ae Add "install" target, so "make install" after building the kernel
does something useful.  The target can be redefined by putting a
install-kernel-${MACHINE_NAME} target that fits your needs into
/etc/mk.conf.
2000-05-09 00:56:21 +00:00
thorpej
6a33c86623 HAVE_GCC28 -> HAVE_EGCS, and make it match gcc 2.9 as well. Also,
make the use of -Wno-uninitialized explicit, don't rely on a compiler
hack to do it for us.
2000-05-09 00:32:19 +00:00
thorpej
f51470a514 Require that each each MACHINE/MACHINE_ARCH supply a lock.h. This file
contains the values __SIMPLELOCK_LOCKED and __SIMPLELOCK_UNLOCKED, which
replace the old SIMPLELOCK_LOCKED and SIMPLELOCK_UNLOCKED.  These files
are also required to supply inline functions __cpu_simple_lock(),
__cpu_simple_lock_try(), and __cpu_simple_unlock() if locking is to be
supported on that platform (i.e. if MULTIPROCESSOR is defined in the
_KERNEL case).  Change these functions to take an int * (&alp->lock_data)
rather than the struct simplelock * itself.

These changes make it possible for userland to use the locking primitives
by including <machine/lock.h>.
2000-04-29 03:31:45 +00:00
itojun
3be41bae18 add stf pseudo interface (commented out due to possible security risks) 2000-04-19 06:50:27 +00:00
leo
7d08f8e623 Add dummies for barrier methods (copied from i386). 2000-04-11 07:12:47 +00:00
leo
9b47c7431d Now what are we doing with the return value of splx()? (probably a pasto) 2000-04-11 07:08:45 +00:00
thorpej
4044b5a41c Use separate callouts for motor-on and motor-off. Fixes a condition
where the floppy driver would wedge because a motor-on timeout would
be cancelled by another I/O operation cancelling a motor-off timeout.

From enami tsugutomo <enami@sm.sony.co.jp>.
2000-04-07 16:58:53 +00:00
leo
469b432d2d Make this compile with -DDEBUG 2000-03-30 13:28:28 +00:00
leo
27d334cf76 Nuke a bunch of cf_unit abuses. 2000-03-29 14:19:22 +00:00
simonb
2f1fef39b3 Centralise the declarations of cpu_model, machine, machine_arch,
osrelease, and ostype and remove "extern char foo[];" (for hostname
and domainname too).

Also delete redunctant decl of boottime in kern_info_43.c.
2000-03-28 23:57:24 +00:00
leo
d4ff1a5f4e This file was forgotten in the commit with log message:
Move the ite_default_* variables to ite.c. They are generic ite.
2000-03-27 14:08:39 +00:00
kleink
230876cf26 Merge parts of chs-ubc2 into the trunk:
* Remove the casts to vaddr_t from the round_page() and trunc_page() macros to
  make them type-generic, which is necessary i.e. to operate on file offsets
  without truncating them.
* In due course, cast pointer arguments to these macros to an appropriate
  integral type (paddr_t, vaddr_t).

Originally done by Chuck Silvers, updated by myself.
2000-03-26 20:42:21 +00:00
thorpej
b667a5a357 New callout mechanism with two major improvements over the old
timeout()/untimeout() API:
- Clients supply callout handle storage, thus eliminating problems of
  resource allocation.
- Insertion and removal of callouts is constant time, important as
  this facility is used quite a lot in the kernel.

The old timeout()/untimeout() API has been removed from the kernel.
2000-03-23 06:30:07 +00:00
cgd
7c35662066 add commented out option PCI_CONFIG_DUMP whever there's a PCIVERBOSE. 2000-03-22 00:58:16 +00:00
tron
e86957458a Install "machineendian_machdep.h". 2000-03-17 22:36:31 +00:00
mycroft
9e21b6555a In the `MY THAT'S GROSS' department...
Eliminate the recursive include of machine/endian.h from sys/endian.h.
2000-03-17 00:09:18 +00:00
oster
1bad2e1909 Add the RAIDframe device major to the machine-dependent config files
so that the right entries get added to dev_name2blk[].  Needed for / on RAID.
(Whoops!  I missed checking these in when adding the RAID_AUTOCONFIG stuff.)
2000-03-14 15:56:51 +00:00
soren
95054da1a1 Fix doubled 'the's in comments. 2000-03-13 23:52:25 +00:00
simonb
4eb55e447c Do the "<space><tab>" thing with the RAID_AUTOCONFIG option. 2000-02-29 06:32:20 +00:00