summaryrefslogtreecommitdiff
path: root/sys/arch/aviion
AgeCommit message (Collapse)Author
2014-07-11Convert bus_dmamem_map(9) to km_alloc(9) in order to make it fail andMartin Pieuchot
not sleep if the allocator cannot obtain a lock when BUS_DMA_NOWAIT is specified. idea and inputs from kettenis@, ok miod@
2014-07-10Set cold to 1 before executing the DVACT_POWERDOWN handlers when halting orMartin Pieuchot
rebooting a machine, like it is done in the hibernate case. At least some USB host controller drivers rely on this to busy way instead of sleeping. Avoid a panic on macppc with an uhci(4) cardbus plugged in. ok deraadt@, uebayashi@
2014-07-10boot(9): Remove comments about RB_*, "cold", and savectx()Masao Uebayashi
Again remove slightly different comments to reduce diffs. These will be re-added once boot() become MI and its specification is clearly re-defined. OK miod@
2014-07-10boot(): Remove comments about RB_TIMEBAD to reduce diffsMasao Uebayashi
RB_TIMEBAD is documented well enough that the comment is not needed. sparc64 does slightly different and its comment is left with XXX. OK deraadt@ miod@
2014-07-10boot(): Unify declarationsMasao Uebayashi
OK deraadt@
2014-07-01Replace the assembly 88100 FPU imprecise exception code (mostly triggered byMiod Vallat
denormal results) with C code using softfloat to correctly round the inexact results in the best possible way according to the current rounding mode. No functional change intended, and this assembly code was surprisingly almost non-buggy, as opposed to the precise exception code replaced a few weeks ago; still an improvement as this replaces 900 lines of arcane assembly with 90 lines of understandable C code.
2014-06-09Replace the unmaintainable assembler code responsible for 88100 precise FPUMiod Vallat
fault handling with a C wrapper around the softfloat code, as already done for 88110 kernels. As a bonus, attempting to read or write FPU control registers but fcr62 and fcr63 in userland will now correctly signal an illegal instruction, instead of leaving the destination register unchanged and pretending nothing bad happened. Be sure to rm m88100_fp.d in your kernel compile directory after updating your tree.
2014-05-31Use calloc to make sure the correct size is zeroed; Benjamin BaierMiod Vallat
2014-05-31Revert previous diff setting cold to 1 on shutdown because it breaks machineMartin Pieuchot
with softraid(4) disks. softraid(4) is the last real consumer of the doshutdownhooks(9) API and it is not trivial to convert its hook to a DVACT_POWERDOWN handler since the latter does not allow to sleep.
2014-05-30Set cold to 1 before executing the DVACT_POWERDOWN handlers when halting orMartin Pieuchot
rebooting a machine, like it is done in the hibernate case. At least some USB host controller drivers rely on this to busy way instead of sleeping. Avoid a panic on macppc with an uhci(4) cardbus plugged in. ok deraadt@, uebayashi@
2014-05-17Remove "WARNING:" prefix from SYSFAIL and ACFAIL messages, so that, in caseMiod Vallat
of ACFAIL, what reaches the console is explicit enough.
2014-05-08Format string fixes for m88k; remove -Wno-format from the m88k kernels.Miod Vallat
2014-03-29It's been a quarter century: we can assume volatile is present with that name.Philip Guenther
ok dlg@ mpi@ deraadt@
2014-03-13get rid of the assumption that the head of the alldevs list is theDavid Gwynne
"mainbus" device. this breaks when mpath is enabled because it attaches before mainbus and therefore takes the head position. have autoconf provide device_mainbus() which looks up mainbus_cd, and use that instead. discussed with deraadt who just wants mpath stuff to move forward despite there being many ways to shine this particular turd.
2014-02-24/etc/random.seed support in da bootblockz.Miod Vallat
2014-01-19Cope with an arbitrary number of ELF program headers, and only copy theMiod Vallat
contents of PT_LOAD headers to the output.
2014-01-19Initialize ci_randseed better using arc4random() + a trick. Remove theTheo de Raadt
libkern srandom() API since it is not suitable for this use. ok kettenis miod
2014-01-04Add rnddata[] placeholders to make these boot blocks build again.Miod Vallat
2013-12-28crank the versionTheo de Raadt
2013-12-08reflect reality, mark as NOOBJMarc Espie
"sure" deraadt@
2013-11-09Cope with the current layout of kernel binaries (three program headers nowMiod Vallat
that .text, .rodata and .data are aligned on BATC boundaries) and merge all phdrs into the first BCS section.
2013-11-03Even saner kernel layout, so that .rodata can be batc mapped by a read-onlyMiod Vallat
dbatc. Add batc mapping support for 88110 systems as well.
2013-11-02Use a linker script to align .data to a BATC boundary as well, so that noMiod Vallat
DBATC may span over parts of .rodata.
2013-11-02Create the initial page tables in the area between the end of the firmwareMiod Vallat
data area and the kernel image, whenever possible. On 88100/88200 systems, use BATC mappings to map the kernel text (and the kernel data for non-MULTIPROCESSOR kernels). 88110 to follow soon.
2013-11-02Link m88k kernels on a BATC boundary.Miod Vallat
2013-10-23Add a sc_hwinit callback when running on an ILACC, to make sure CSR4 doesMiod Vallat
not get lost if the chip is reset. Also try to mask the `TX start' interrupt, but this doesn't seem to work.
2013-10-23Checkpoint of work-in-progress DMA support for oaic(4). Not working yet,Miod Vallat
probably due to incorrect programming of the system board ``Diagnostic Control Register'', for which I do not have documentation yet; commited so as not to lose this work, since the machine I was testing on has apparently commited suicide and will no longer POST.
2013-10-20catch up with elf(5)/stab(5) removal;Jason McIntyre
ok miod
2013-10-19Use daddr_t * instead of int * for the partoffp parameter toKenneth R Westerback
readdoslabel(). Ditto all the MD variables whose addresses are passed to readdoslabel() via partoffp. Fix some 512-byte block vs disk sector confusion in hppa and sgi. All the DL_GETxxxxx() defines return disk sector values. All DL_SETxxxx() take disk sector values. These changes should be no-ops until a drive using non-512-byte-sectors is encountered. ok deraadt@
2013-10-17... and do not set up lance buffers at 3MB. Oh the irony.Miod Vallat
2013-10-17Merge old netboot le(4) code into new boot, to allow for a kernel to be loadedMiod Vallat
from the network, with symbols. This will be useful to load bsd.rd on systems with the 3MB bootfile limit in the stupid PROM. Crank version to 0.4.
2013-10-17the explanation for locally-defined ecoff is even simpler now thatTheo de Raadt
the .h file is missing... so remove the #if 0 chunk
2013-10-17a better way to disable the speaker on AV400 familyMiod Vallat
2013-10-17Remove support for a.out and ecoff. We only do elf now.Theo de Raadt
ok miod
2013-10-16Correctly honour spoofonly in readvdmlabel() to avoid reading the on-disk labelMiod Vallat
when it's not welcome.
2013-10-16Support for oaic in the boot blocks. Cope with older prom putting a \r atMiod Vallat
the end of the commandline. Clean up a few stale comments. Crank boot blocks version to 0.3.
2013-10-15Rewrite the awk script that generates the data for option DDB_STRUCT:Philip Guenther
- switch to perl for better data structures and (thus) speed - fix a couple glitches in the interpretation of the stabs output - compress the strings by putting them in one big array and overlaying suffixes - all sizes and offsets are <64k, so use u_short for them This results in ~60% reduction in the resulting text size and it now takes less than a second to create on fast platforms. ok miod@
2013-10-15First shot at installation media for aviion, and updated documentation.Miod Vallat
2013-10-15In readvdmlabel(), be sure to have *partoffp initialized in all cases.Miod Vallat
2013-10-15Driver for the AIC-6250 SCSI controller found on AViiON models 100, 200, 300,Miod Vallat
400 and 4300. Limited to PIO mode only for now, until the DMA controller is tamed. Heavily based upon the MI aic(4) driver.
2013-10-11When converting an ELF file, create a dummy non-empty (8 byte) .data section,Miod Vallat
for older PROM will fail to load BCS binaries with only a .text section, and will also fail to load an empty .data section. Tested on AV4300.
2013-10-10Better boot device detection code. Board-specific code will now return theMiod Vallat
address of a controller only know by its SCM name and number, and the boot device detection code will now attempt to match the controller first, and then grandchildren of it (if the boot device is a disk or a tape).
2013-10-10Misc cleanups and small fixes. Boot controller/unit/lun information passedMiod Vallat
to the kernel will now match the device the kernel is loaded from, not the device the boot blocks are loaded from (this allows one to netboot the boot blocks to boot a kernel from a local disk).
2013-10-09Quick'n'dirty code to match trivial on-disk boot paths as the boot device.Miod Vallat
Needs more work in order to cover all cases, but enough to get internal disks on the first controller on models 4600 and 530 to get matched. This makes the aviion port finally self-hosting on aforementioned models, finally! Next step: bsd.rd...
2013-10-09Needed by recent libsaMiod Vallat
2013-10-09DIsplay fixes, also print boot path before attempting to boot it. Still notMiod Vallat
cranking boot blocks version because it's unlikely anyone but me is running them at the moment.
2013-10-09Parse (hex) partition number in boot path. For experts only.Miod Vallat
2013-10-09Fix build (forgot to rerun make depend)Miod Vallat
2013-10-09Fix parse_args() to ignore device specification and correctly append theMiod Vallat
default kernel name if only a boot device is specified. This makes boot paths like "sd()" auto-boot without asking for a kernel name.
2013-10-09Move common SCSI defines and structs to their own header, to eventually allowMiod Vallat
SCSI tape support. Drop sync negotiation from oosiop code, we can run without it.