- Most changes are comment cleanups.
_ iomd.h is no longer an exported header.
- Added intr.h for MI interrupt definitions.
- Added definitions for ARM8 cpu.
- Added bus dma support.
pseudo-device rnd # /dev/random and in-kernel generator
in config files.
o Add declaration to all architectures.
o Clean up copyright message in rnd.c, rnd.h, and rndpool.c to include
that this code is derived in part from Ted Tyso's linux code.
Only assembly version for i386 bswap16 and bswap32 for now (bswap64 uses
bswap32). Contribution of assembly versions of these are welcome.
Add byte-swapping of ext2fs metadata for big-endian systems.
Tested on i386 and sparc.
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.
(currently only CD-ROM drives on i386). The sys/dev/scsipi system provides 2
busses to which devices can attach (scsibus and atapibus). This needed to
change some include files and structure names in the low level scsi drivers.
at the same time instead by using two different calls. This enables
it to check more easily if the combined mode is all right.
- Improve the error checking in audio.c.
- Add a new audio property, AUDIO_PROP_INDEPENDENT, show if the
play and record settings are independent.
- Fix some buglets in audio.c.
- Change the way attach and open works to allow multiple audio
devices.
- Split the mulaw.c file into two to avoid dragging in mulaw
convertsion when they are not needed. Add 16 bit alaw/mulaw tables.
- Change the way audio properties are gotten.
- Recognize more versions os SoundBlaster.
Removed some un-necessary cache synchronisations.
Call the cpu_sleep() function in an infinite loop in halt().
Removed the long dead swap specifier from rc7500 initarm().
the only timings we know are the ones inherited from the boot and the
drivers that will attach to the bus may change these.
Use the IS_PODULE macro for checking manufacturer and podule id's
against attach args.
PROFILE_ASM are defined.
Added missing .data directive prior to the curpcb declaration.
Fixed the calling of the cpu sleep function in idle(). The sleep function
takes a single argument which is the sleep mode. This is currently unused
but 0 should be passed for future compatibility.
sense code for zero and if found repeat the request sense. This solves
a bug in the sbic driver when accessing JAZ drives that results in
faulty sense data being returned following a transfer. A retry returns
the correct information.
This is probably showing up a more fundemental bug in the sbic driver
and will probably have to wait for a complete overhaul of the sbic
driver (planned) for a perfect fix.
Fix supplied by Rob Black <r.black@ic.ac.uk>
shift value thus making register more flexible.
Remove the absolute shift of 2 in all the podule read/write routines and
use the tag cookie (passed in r0) as the shift value.
register shift value.
For the podulebus_bs_tag structure set the shift to 2 (the current
hardcoded value in the actual read/write routines).
Use the cookie to provide the register shift in podulebus_subregion().
the locators.
In wdcprobe_internal() set the WDCF_32BIT flag if the data32 io handle
is set.
All transfers to and from the data register now check for softc flags
to see if 32 bit transfers are enabled i.e. reading drive parameters
and doing a dump will use 32 bit transfers as well.
In the probe routines check the mainbus attach args mb_iobase field
to verify that the iobase did not default as an iobase address needs
to be specifically specified.
they have different podule ID's.
Always attach the driver even if it appears to fail the tx test as there
appear to be a collection of cards around that will fail this tx test but
will actually work ok - This problem needs further investigation.
- It is now possible to handle devices that want "looping" DMA,
e.g. the SoundBlaster correctly. The WSS and SB drivers use this.
To do this several new methods were introduced in audio_hw_if.
- Different silence handling (forced by previous change).
- The audio driver can now be mmap()-ed, but due to problems in
the VM system only for writing for now.
- The OSS (Linux) audio emulation takes advantage of some of the
new features.
renamed AUDIO_ENCODING_SLINEAR and AUDIO_ENCODING_LINEAR reverts to the
NetBSD 1.2 sematics. A kernel with COMPAT_12 defined will accept
AUDIO_ENCODING_LINEAR and treat it as before, without COMPAT_12 it
will be rejected.
Set the encoding parameters slightly differently.
Remove the SW encoding/decodinf functions from this interface
and move them to the audio_parameter struct; this is both more efficient
and flexible.
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.
MMU in boot0().
This solves the problem of cache hits after the kernel has rebooted the
machine as even with the cache off hits will occur for data/instructions
already in the cache.
cleaning calls will now be indirected throught the cpu_functions
that will have the correct function pointers for the CPU in use.
All register fixup code following aborts has been removed and
instead a call to the cpu_*abt_fixup() routine is called instead
to provide the correct fixed based on the CPU type and abort mode.
different ARM CPUS with different cache architectures for example to be
supported in a single kernel.
- All CPU/MMU/TLB specific functions are now held as function
pointers in a cpu_functions structure defined in machine/cpufunc.h
All coproc 15 accesses, TLB flushing, cache cleaning/flushing
and abort correction functions are now defined in this structure.
- cpufuncs is a global structure that is setup during initarm()
that holds all the function pointers for the booted CPU.
- A global variable 'cputype' now defines the probed cputype.
- All the existing functions for manipulating CPU specific features
have been replaced with macros defined in machine/cpufunc.h
that will call the appropriate function in the cpu_functions
structure.
- CPU functions are provided for selected CPU types (config options)
and the appropriate cpu_functions structure is chosen during
booting, based on the probed CPU type.
- All the required functions for existing CPU types (ARM6, ARM7 and
SA110) have been implemented.
space handles to describe the task file registers, aux register, 16 bit
data register and 32 bit data register.
The wdc softc structure has been moved to a separate file.
Added support for multiple attachments by separating the core of the
probe and attach functions from the mainbus probe and attach routines.
Added a new wdc flags 32_BIT so that the wd can determine 32 bit xfer
support from the wdc device.
as the only argument and cast this as appropriate now that the function
pointers to the interrupt registration functions are fully prototyped.
Use <machine/conf.h> for the declarations of the device driver entry
points.
that a unit select did not complete and needs to be retried. Selection will
be retried following a disconnection if this flag is set. The function
esc_select_unit() will set/clear this flag depending on when a selection
completed or not.
that a unit select did not complete and needs to be retried. Selection will
be retried following a disconnection if this flag is set. The function
sfas_select_unit() will set/clear this flag depending on when a selection
completed or not.
tranfer routines for use where the I/O register is multiply mapped into
a block of 8 consecutive word. This allows LDM/STM instructions to be
used to improve the read write performance.
Eliminate obsolete global kernel variable "struct timezone tz"
Add RTC_OFFSET option
Add global kernel variable rtc_offset, which is initialized by
RTC_OFFSET at kernel compile time.
on i386, x68k, mac68k, pc532 and arm32, RTC_OFFSET indicates how many
minutes west (east) of GMT the hardware RTC runs. Defaults to 0.
Places where tz variable was used to indicate this in the past have
been replaced with rtc_offset.
Add sysctl interface to rtc_offset.
Kill obsolete DST_* macros in sys/time.h
gettimeofday now always returns zeroed timezone if zone is requested.
settimeofday now ignores and logs attempts to set non-existant kernel
timezone.
cgd's alpha implementation. Bus tags now point to a structure of
function pointers to bus space routines rather than being an index to
one of several I/O methods making it simpler and more efficient in
handling many different busses and mapping schemes.
ends for irq_claim() and irq_release() that will allocate and free
memory for the irqhandler structure.
Added an irqblock array that provides a quick reference to all the
interrupts that should be blocked when a particular interrupt is
received. The irq_claim() and irq_release() functions now update the
irqblock array.
Impelemented a fix for kernel locks when opening the serial post :
Revisions A->D of the SMC FDC37GT665 Peripherial controller have
a bug in the serial port that is triggered if the FIFO is enabled
while there is a byte in the rx data register resulting in the
rx ready bit being permenantly set.
podule space.
Fixed a bug in the reading of bytes from network slot cards that prevented
the correct reading of the network slot ROM description.
config code now allows duplicable devices to be attached.
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.
Lets users over-ride with makeoptions COPTS="..." in kernel config files.
Leave `mandatory' flags (like -msoft-float which on m68k enforces no
FP in kernel) in CFLAGS.
These alternative macros have a workaround for the STM^ bug in revision < 3
StrongARM CPU's that causes incorrect register saving if a cache line fill
is in progress during the STM.
a podulebus.
Make sure the podulebus driver conforms to the Acorn expansion card
specification:
- Probe the podule bus using sync access cycles rather than slow access
cycles.
- Read the podulebus header/ROM using sync access cycles rather than slow
access cycles