Commit Graph

667 Commits

Author SHA1 Message Date
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
mhitch 4a320ca712 Use the correct DMA pointer for the second channel on 14-bit byte-swapped
conversion.  Fixes NULL pointer reference crash when playing 16 bit little
endian audio.
2000-09-03 02:04:53 +00:00
is 115bd3b350 Replace one callout handler by using a timeout in tsleep().
1.4.x version of it submitted by Ingolf Koch; translated to 1.5-ish by
myself.
2000-08-27 10:35:43 +00:00
mrg b564830503 remove include of <vm/vm.h>. <vm/vm.h> -> <uvm/uvm_extern.h> 2000-06-29 08:44:03 +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
mrg 89d0a3e519 remove redundant vm includes. 2000-06-26 14:38:50 +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
is 30cef4176a - auto-USE_C_BFOPS when !defined(__m68k__)
- for bold characters, only blit the leftmost ftwidth pixels per character
  cell row. The rightmost row which used to be printed would have been
  overwritten formerly by the next character on sequential output, so no
  visible change will result most of the time.
  This fixes two problems:
  * USE_C_BFOPS (which only works for 8 pixel wide fonts) blits the same
    for bold characters now... it used to print the rightmost 8 pixel columns
    of the bold-smeared characters
  * we no longer need a reserved 1 pixel column at the right end of the screen.
    That is, a 640x400 screen will hold 80x50 charactes with the 8x8 font.
2000-06-21 21:28:39 +00:00
tsutsui 8c4d1bf1f9 Adapt MI ncr53c9x changes. 2000-06-05 15:08:00 +00:00
is f0d88bea57 Prepare for AmigaPPC. 2000-05-25 19:10:04 +00:00
is da281d4321 Prepare for AmigaPPC. 2000-05-25 18:39:09 +00:00
is ebc6483ef9 missed one line when converting m68k asm() to macro calls. 2000-05-24 19:36:29 +00:00
is 5e33ffef22 Initialize hardware for mouse mode at open time.
This fixes MB2 and MB3 on the 2nd mouse port (the first is initialized by
the Amiga ROM at boot time).
2000-05-18 19:58:30 +00:00
kleink 8050d5687d Restructure the ms(4) autoconfiguration code to attach as a single device
instance and select a mouse port via the least significant bit of its
device minor number.  Fixes abuse of cf_unit in this driver.
2000-05-18 15:39:22 +00:00
is e6f57d38e4 Fix thinko in fix for fix for cf_unit abuse. 2000-04-27 21:11:07 +00:00
mhitch 437d090c28 Long term bug finally reared its head: size of device softc was specified
as sizeof(struct device) when amiga switched to new config, and recent
additions of callout structures and a long missing struct device to the
soft structure resulted in kernel panics when attempting to open the builtin
serial port.  The callout structure initialization was clearing the serial
port softc data!  Fixed by using sizeof(struct par_softc).
2000-04-23 19:55:51 +00:00
is f0b2e9f184 Make this work again after the last changes...
remember, folks, potential Amiga console devices run autoconfiguration
_twice_.
2000-04-14 21:56:22 +00:00
aymeric 8e8e291c78 Prevent serial port from hanging when used as both console and terminal. 2000-04-07 19:47:18 +00:00
frueauf 440814a0b5 Add "struct device sc_dev;" to struct par_softc.
Reviewed by Ignatios Souvatzis.
2000-03-26 10:15:32 +00:00
is 128258c1a2 Initial IOBlix support. Only lpt and com; lpt untested; com assumes 24 MHz
clock (needs autoprobe of clock speed).
2000-03-23 22:44:42 +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
kleink 8bc084e1de Kill more broken cf_unit bogons. 2000-03-16 16:37:20 +00:00
kleink 1634305526 Kill a couple of unnecessary cf_unit (ab)uses. 2000-03-15 20:40:00 +00:00
soren 95054da1a1 Fix doubled 'the's in comments. 2000-03-13 23:52:25 +00:00
aymeric 77292e79c6 fix a couple of things to handle interrupts more cleanly on the A1200 2000-02-21 18:27:49 +00:00
aymeric 728c720d75 acknowledge the interrupt to gayle before entering wdc_intr.
This fixes the lost interrupts problem.
fix some glitches on the A1200 too.
2000-02-19 17:16:20 +00:00
is 9bf09631c6 Only output message on really special DEBUG kernels. 2000-02-11 19:09:56 +00:00
aymeric dc0ce1249b fix interrupt handling
I still get lost interrupts on the A1200, but the problem is certainly
elsewhere (not in wdc_amiga).
2000-02-10 15:51:59 +00:00
aymeric a10113c83a fix a couple of things to (hopefully) make this work on the A1200 2000-02-09 22:27:20 +00:00
thorpej fe551f0e64 Fix a bug in disksort_*() which caused non-optimal ordering when multiple
active partitions were on a single spindle.  Add a b_rawblkno member to
struct buf which contains the non-partition-relative block number to sort
by.
2000-02-07 20:16:47 +00:00
mhitch d9b42dd1fc At long last, the MI wdc glue for the Amiga. Tested on my A4000, but not
on an A1200 yet.  Configuration of wdc/atapi in GENERIC is currently
commented out to prevent the suprise of an IDE drive changing from sd0
to wd0 (and the first real SCSI drive changing from sd1/sd1 to sd0).
2000-02-05 18:46:28 +00:00
aymeric d7e70f7068 sync with new bus.h 2000-01-23 21:06:12 +00:00
aymeric 9b5252590b add PCMCIA generic support 2000-01-23 20:57:27 +00:00
thorpej 52242fdf9f Update for sys/buf.h/disksort_*() changes. 2000-01-21 23:28:59 +00:00
thorpej 71b89434fa Remove one line of junk. 2000-01-18 19:33:31 +00:00
is e80be24250 Yet another cpu.h. 2000-01-16 21:19:44 +00:00
aymeric 626fbe9b6d make this work again (include machine/cpu.h) 2000-01-15 17:09:47 +00:00
aymeric b4406c3d63 make this compile again 2000-01-15 13:50:13 +00:00
is fc0b743e44 Fix comment. No code change. 2000-01-06 10:53:34 +00:00
is 2e3d1cc048 The Ricoh chip has a seperate leapyear counter.
We must write this when we write the year register, keeping them in sync.
XXX the chosen algorithm only works for 1901 <= year <= 2099.
2000-01-03 21:52:14 +00:00
is d14968078a Write part of the y2k fix.
This is not strictly necessary, as
- at least for the Ricoh chip in the A3000 and A4000, as those chips' Y10
  registers happily continue to count up from 0xA if manually incremented
  past 0x9.
- the Amiga ROMs and "setclock" commands seem to interpret 0xA 0x? like
  200?, etc.

However,
- the Amiga setclock writes the modulo 10 value into the chips
- the chip docs of both chips, including the Y2K information of their
  manufacturers, only refer to the range 0-9
- the chips increment from 9 to 0

So we better conform to this, to avoid unpleasant surprises.
2000-01-03 20:30:51 +00:00
is 5614cd4fce *sigh*
Y2000-patch for A2000, A3000 and A4000 battery backed clock modules,
mostly by Adam Ciarcinski.
2000-01-02 18:29:22 +00:00
is 715da299de assign the pointer 1999-12-31 08:38:13 +00:00
is 99943b2c6b Rewrite of the Amiga bus_space machinery to prepare for the support of
the generic IDE driver and the PCMCIA slots.
1999-12-30 20:56:44 +00:00
mhitch 2553fa2352 Add multicast capability to the A4066 (es) driver; now it will do IPv6. 1999-12-10 05:44:58 +00:00
mhitch 0e63301bc7 Check for valid device when starting a request with interrupts; device
probes are now done with interrupts, and would hang when probing for
non-existent device.
1999-12-10 05:39:20 +00:00
ragge 0513268399 CL* discarding. 1999-12-04 21:13:19 +00:00
is 14d940c179 Jens, not Joerg 1999-11-25 22:11:03 +00:00
is 5a05d40012 Address range scaling is hidden by the bus_space functions. Correct the
definitions in case we ever do bus_space accounting on Amiga.
1999-11-25 21:58:57 +00:00
is 366a09427a Add a few boards we know about.
This should really be table-driven and optional.
1999-11-25 21:57:45 +00:00
is 57ac5a3ea7 Another RTL8019 board: X-serve by Individual Computers Jens Schoenfeld. 1999-11-25 21:53:01 +00:00
is 13c27090e8 Don't call the sc->sbic_dmago() function if the data length is zero.
This avoids a zero pointer dereference, which fixes PR 8571.
Make sbic_dmago() report selection timeouts to the upper layer.
This makes sbic really work again with 1.4L.
1999-11-01 22:22:33 +00:00
is 21d10126ed Make this compile with -DDEBUG again. 1999-10-04 20:28:01 +00:00
thorpej e6c88a7686 Update for SCSIPI changes. 1999-09-30 22:59:52 +00:00
is 744246fa0b vm_offset_t -> vaddr_t/paddr_t 1999-09-25 21:47:02 +00:00
is 6f84613972 replace inline asm by macro calls, that expand to the original inline asm
or to C replacements depending on the USE_C_BFOPS option.
The C replacement only works for our 8 bit wide fonts.
1999-09-20 23:17:13 +00:00
is 5c9f73a53d Oops. I forgot to add cachops here earlier. 1999-09-07 20:24:56 +00:00
is 33014f7bb0 Switch to cacheops. This closes PR 1960. 1999-09-06 21:50:47 +00:00
is f0e0b02d7c Add a quick and dirty FBIOGVIDEO implementation. This is hardware independent,
by saving the last written FIOSVIDEO/GRFIOCBLANK value into a shadow variable
in the grf_softc and returning this value on FBIOGVIDEO.
The presence of this ioctl is needed by screenblank(8) nowadays.
Original problem reported by Lars Hecking on the port-amiga mailing list.
1999-08-16 19:55:27 +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
is a183cb63ae Fix horizontal timings for console mode (this helps, at least,
Lars Hecking).
1999-06-29 19:51:28 +00:00
is f4351f7b96 Don't even try to output to, scroll or clear the device if we are in graphics
mode. On this chip, we need to access some registers to set the text plane,
which messes up the graphics setup.
This should fix the grf3 problems reported by several people.
Michael Hitch and Joerg Lehners analyzed the problem and provided the fix.
1999-06-27 21:17:17 +00:00
is 7a132d78b7 Align adresses better 1999-06-22 21:12:00 +00:00
is b7ee76f1c4 Check for an unterminated bus; if yes: complain and don't try to use this
bus. Without this, cbiiisc used to hang if nothing was connected.
Reported by Matthias Scheler. A similar method to avoid this was suggested
by Ralph Schmidt.
1999-06-07 21:30:57 +00:00
is 92568502cc Don't dump all the registers at attach time. It works now. 1999-06-06 19:58:31 +00:00
thorpej f98d358a1f Rework layer 2 protocol input routines. Instead of calling e.g. ether_input()
directly, call the function pointer (*if_input)(ifp, m).  The input routine
expects the packet header to be at the head of the packet, and will adjust
as necessary.  Privatize the layer 2 input and output routines, allowing
*_ifattach() to set them up as appropriate.
1999-05-18 23:52:51 +00:00
is 05ae5bbfc1 Add HyperCom 3+/4+ parallel port support 1999-05-10 22:18:47 +00:00
mhitch 70d16931bd Correct the way I was using the transfer length for ATAPI commands. ATAPI ZIP
drives are now usable.
1999-04-17 19:49:24 +00:00
mhitch 46f5ce02e0 Do a REQUEST SENSE when ATAPI operation returns an error. This is needed to clear
the Unit Attention status, i.e. after a media change on a CDROM.
1999-04-17 17:08:12 +00:00
mhitch bb2b8c8586 Change reading the ATAPI IDENTIFY data: a ZIP drive responds differently than my CDROM
and will cause the drive to hang on boot.  The ZIP drive still does not work, but the
system no longer will hang,
1999-04-16 03:29:49 +00:00
is 0d8a2e963a snchronize with reality.
Actually, this should have been done months ago, but slipped the cracks.
1999-04-01 20:31:02 +00:00
mhitch 94ac6e6084 Show 50ns period instead of 48ns for Ultra. 1999-04-01 17:27:22 +00:00
mhitch f2edf64867 Turn off some ATAPI debugging output. 1999-04-01 16:22:57 +00:00
mhitch 11cfd11c52 Add CyberStorm MK III. 1999-03-31 02:47:38 +00:00
is 67caec5886 Dont write through a zero pointer (when in probe mode of a2kugettod()). 1999-03-28 21:39:59 +00:00
is 29abee115f Remove 20 lines of register dump from normal operation. 1999-03-28 21:09:54 +00:00
mhitch d28c630840 I had to have been asleep when I changed Ignatios's constants to register symbols.
Use the correct symbols for ODR full bits.
1999-03-28 20:29:51 +00:00
is e657b604f3 Add back the "810" id string. 1999-03-28 20:09:09 +00:00
is c8c6cb17c3 Initialize all 16 elements. We're wide. 1999-03-28 19:39:24 +00:00
is 5ecbda755f The "Phase mismatch, REQ not asserted" error happens on one of my disks
a few times a day. As the driver and system always recovers, when typing
a few c-ontinues, I think not entering the Debugger() won't hurt.
1999-03-28 19:30:07 +00:00
mhitch 91d0eb55ed More 53c770 stuff: update 53c720/770 register defines and use them in
siop2.c.  Add wide negotiation and Ultra support.  Modify siop.c to match
the siop2.c sync negotiation changes.  The CyberStorm MKIII driver now
supports 15 targets.  Remove some old table-driven sync rate stuff from
the original Zeus driver.
1999-03-26 22:50:22 +00:00
mhitch 96eecff795 Add some ATAPI support. My CDROM drive works, but I don't have other devices to
test.  This should provide interim ATAPI support until the MI wdc driver is used.
1999-03-26 07:00:37 +00:00
is d19d45b897 defopt Amiga graphics console options 1999-03-25 23:20:00 +00:00
is f333be91dc defopt Amiga graphics console options 1999-03-25 23:19:58 +00:00
thorpej 0193701fcd Use ETHER_*_LEN constants from <net/if_ether.h> instead of defining them
ourselves.  Subtract ETHER_CRC_LEN as necessary to get the same values
for these constants as were previously defined locally.
1999-03-25 23:10:53 +00:00
thorpej 962833e128 Use ETHER_*_LEN constants from <net/if_ether.h> instead of defining them
ourselves.
1999-03-25 23:10:13 +00:00
is b30a4d19c0 Defopting grf_cc configuration parameters 1999-03-25 21:55:17 +00:00
is 35bbdd4cd2 AGA: VGAonly timing (GRF_AGA_VGA), by Adam Ciarcinski 1999-03-24 22:24:42 +00:00
mrg d2397ac5f7 completely remove Mach VM support. all that is left is the all the
header files as UVM still uses (most of) these.
1999-03-24 05:50:49 +00:00
is 2ccf15e5f3 53c810A identification 1999-03-22 19:30:57 +00:00
is 605bbc6a31 ISDN Master II support added.
Actually, support for this has still to be added to the isdn4bsd release.
1999-03-17 21:44:18 +00:00
sommerfe bc533621ed defopt MINIROOTSIZE 1999-03-17 18:59:21 +00:00
is ba07737bc0 Use the 1/256s-resolution when reading the DraCo battery backed clock 1999-03-14 22:42:12 +00:00
veego 58d4f7ae24 Add support for future PicassoIV's which use an autoconfig space of 64MB.
The framebuffer base address is then at a different offset.
The patch is from Klaus Burkert.
1999-03-14 09:17:19 +00:00
is bed6716015 Identify the chip type when attaching. 1999-03-13 22:43:30 +00:00
is a02a989bcf The 53c720 and up are really different. For example, the method to determine,
when disconnecting etc., how much data were transferred, has changed.
Symptom: SIOP invalid instructions when doing data transfers to disks that
disconnect.
XXX The bits etc. need to be defined correctly in the siopreg.h file, and
symbolic values used.
1999-03-13 21:30:55 +00:00
is 48c33b2e56 Adjust to match the assembled code 1999-03-13 19:42:52 +00:00
is d662e94812 fix some typos introduced when integrating the driver 1999-03-12 20:17:47 +00:00
is 5cbe57d881 Missing part of CS Mk. III changes 1999-03-09 20:31:34 +00:00