summaryrefslogtreecommitdiff
path: root/sys/arch/aviion
AgeCommit message (Collapse)Author
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.
2013-10-08Early stages of a working disk bootloader for OpenBSD/aviion.Miod Vallat
Currently limited to oosiop(4) controllers, and thus models 4600 and 530. There are some rough edges to polish to avoid manual interaction (kernel currently can't figure its boot device when booted from disk), but the hard (and hair-pulling) work is over. And we can have kernel symbols again!
2013-10-08Try to be a bit more cross-compile friendly.Miod Vallat
2013-10-07Have platform->bootstrap() return the machine speed in MHz, which is used toMiod Vallat
set up the delay constant.
2013-10-07Put the kernel VBR page at the beginning of the kernel text, as done onMiod Vallat
mvme88k, to be able to unmap the page at address zero in the kernel, and have the vbr page read-only after being initialized.
2013-10-07Split the 64-bit interrupt source mask code into two 32-bit `interrupt' andMiod Vallat
`extended interrupt' masks. This is how the hardware works, and this makes the code simpler than attempting to aggregate them. No functional change.
2013-10-01tweak previous;Jason McIntyre
2013-10-01If a valid VDM signature is found, but neither a VDIT nor a native label areMiod Vallat
found, do not attempt to check for any other label scheme: the VDM signature implies the disk doesn't use MBR or whole-disk partitionining. This makes sure that, once a boot area has been set up on a disk without any form a label yet, the bounding constraint it creates will not be cleared by readdoslabel(). It is now possible to correctly set up and label a vnd image with a boot area.
2013-10-01Add the simple vdm/vdit dumper I wrote 3 years ago. Turn it into somethingMiod Vallat
a bit worthwhile (yet crude), and give it the ability to initialize the boot area, instead of having installboot do it - we will need the boot area set up before attempting to invoke disklabel on the root disk.
2013-09-29various fixes to sync usage() with SYNOPSIS, and make these pages a bitJason McIntyre
more consistent; feedback/ok miod
2013-09-29Simple installboot(8) for aviion. Awaiting boot blocks...Miod Vallat
2013-09-29Split the VDIT label code into VDM "label" (which only defines non-MBRMiod Vallat
partitioning, and an optional boot area) and real VDIT. If a VDM label is found, but no VDIT is found, search for a native label in sector 1 (where VDIT would start). In either case, make sure the OpenBSD area of the disk does not enclose the boot area. This allows PROM bootable disks, not shared with DG/UX, to be set up with minimal hassle. To be done by the upcoming installboot(8) soon.
2013-09-29Test whether the WHOAMI register exists before using it. Apparently, modelsMiod Vallat
100/200/300 would lack it. They are single-processor systems anyway.
2013-09-29Perform more consistency checks when walking the VDIT.Miod Vallat
2013-09-28belatedly adjust to gcc 3 and ELFMiod Vallat
2013-09-28Make sure the stack is 1:1 mapped before attempting to give control backMiod Vallat
to the PROM at halt/reboot time; this lets systems reboot again.
2013-09-28The first step in being able to share disks with DG/UX: recognize VDM/VDITMiod Vallat
disk layout, and if a vdmpart instance named "OpenBSD" is found (but not a vdmaggr!!!), assume this is the OpenBSD part of the disk and the native label is found within it. Native DG/UX partitions (vdmpart or vdmaggr) will NOT be reported in the spoofed label of a shared disk.
2013-09-28In boot(), do not iterate over alldevs if it's empty (i.e. halting from ddbMiod Vallat
with ddb entered early with boot -d or from UKC).
2013-09-26Clear SYSFAIL upon boot, for real.Miod Vallat