summaryrefslogtreecommitdiff
path: root/sys/arch/aviion/include
AgeCommit message (Collapse)Author
2007-12-19Overhaul interrupt handling, in order to make it (arguably) simpler andMiod Vallat
more board design-independent. The main changes are: - define logical interrupt sources, which match the on-board devices as well as the seven VME interrupt sources. Use these whenever possible when registering interrupts in the drivers, so that the actual interrupt mask layouts are hidden. - make the on-board and VME interrupt handlers separate. On-board interrupt handlers are not really associated to an interrupt vector, only to a given interrupt source, and only one handler can be registered for a logical interrupt source. On the other hand, VME interrupts come with a vector number, and can be shared. This allows VME devices to really use the whole 256 vectors space, starting at vector zero. - update the real interrupt masks upon interrupt handler registration and removal, so that only interrupt sources for which a handler exists may be enabled. - update the VME interrupt allocation logic to allow exclusive vector allocation. - move the Z8536 clock routines to their own file, since they are not AV400-specific; while there, calibrate the delay constant upon startup for more accurate delay(). The vme driver is the only one left with AV400 tentacles left, to be fixed very soon.
2007-12-19The serial console address apparently does not change accross 88100 designs,Miod Vallat
so stash it in a board-independent header.
2007-12-19Allocate memory for the onboard le interface using uvm functions, instead ofMiod Vallat
stealing pages in pmap_bootstrap. While there, use up to four times more memory for these buffers if the machine has enough physical memory.
2007-12-08Better siginfo fault codes for floating point exceptions on 88110, withMiod Vallat
more work in progress to handle these exceptions correctly, and document a new undocumented and evil chip bug while there.
2007-12-02Rework the __mp_lock code to not spin at spllock(), kinda similar to theMiod Vallat
x86 __mp_lock changes, but keeping the internal __cpu_simplelock_t to guarantee atomic access to the __mp_lock fields.
2007-06-20b_cylinder does not need to be set on the callpath down into drivers.Theo de Raadt
cpu_disklabel can go away, since nothing anymore needs to use it; ok miod
2007-06-17significantly simplified disklabel infrastructure. MBR handling becomes MITheo de Raadt
to support hotplug media on most architectures. disklabel setup and verification done using new helper functions. Disklabels must *always* have a correct checksum now. Same code paths are used to learn on-disk location disklabels, to avoid new errors sneaking in. Tested on almost all cases, testing help from todd, kettenis, krw, otto, dlg, robert, gwk, drahn
2007-05-15kill __HAVE_DEVICE_REGISTER by requiring all architectures to have aTheo de Raadt
device_register() function -- even if it does nothing. reduces the cpp-based blather different between architectures idea ok'd by miod; tested on all architectures (except a few miod will need to cleanup because he has them)
2007-02-19only make this interface available to the kernel for now, discussed withaTheo de Raadt
rt and such; tested and ok miod drahn
2007-02-06Add machine/atomic.h to all architectures and define two operationsArtur Grabowski
right now that are supposed to be atomic with respect to interrupts and SMP: atomic_setbits_int and atomic_clearbits_int. All architectures other than i386 and amd64 get dummy implementations since at first we'll be replacing operations that are done with "a |= bit" and "a &= ~bit" today. More proper implementations will follow kettenis@, miod@ ok
2007-01-13Bring back a <machine/frame.h> for m88k platforms, by splitting <machine/pcb.h>Miod Vallat
in its exception-related contents and pcb-related contents.
2006-11-16Ratibibugle struct frame and <machine/frame.h>Miod Vallat
2006-10-20Try again with local variable to avoid alignment issues.Kenneth R Westerback
"The dosparts member of cpu_disklabel was not used for any persistant data. Eliminate it, and just use the data being read in while processing MBR and EBR records. Should be no functional change. ok weingart@ deraadt@"
2006-10-18back out disksubr changes ... since they violate strict alignment onTheo de Raadt
some architectures (kaboom); that will be fixed in the next iteration hopefully!
2006-10-17The dosparts member of cpu_disklabel was not used for any persistantKenneth R Westerback
data. Eliminate it, and just use the data being read in while processing MBR and EBR records. Should be no functional change. ok weingart@ deraadt@
2006-10-03Don't load bad144 bad sector information into disklabels for archs thatKenneth R Westerback
don't have wd* in GENERIC, since wd* is the only place such info is being used. First step of eliminating bad144 bad sector info from all disklabels. 'go go go' deraadt@
2006-07-01Eliminate redundant get_le() in favour of letoh32(). Add letoh32()Kenneth R Westerback
calls in alpha, hppa, hppa64 and mips63 when accessing the two DOS MBR u_int32_t fields dp_size and dp_start. No functional change.
2006-06-26Clean up some inconsistancies in definitions around DOS MBR code. NoKenneth R Westerback
functional change. ok deraadt@
2006-05-21Fix AV_IEN() computation for cpu #2 and #3.Miod Vallat
2006-05-21Move common definitions shared by the various 88100-based designs to theirMiod Vallat
own header file, and slowly make most of the code board-independent. No functional change.
2006-05-20Introduce a ``struct board'' platform abstraction, to be able to supportMiod Vallat
more AViiON designs in the future. Heuristics to tell designs apart in aviion_identify() are likely too weak, but this is a start and AV400 still gets identified as AV400 (-:
2006-05-20Try and use the CPUCONFIG PROM call even if we did not detect 88204 CMMUs,Miod Vallat
recent PROM might have it implemented, and for 6:1 processor boards on 530 models, this is the only way we'll get to know the split scheme in use, for now.
2006-05-20Save the PROM VBR on startup, rather than assuming the PROM (and thus itsMiod Vallat
VBR) will always reside at the same address. Also, when querying the PROM for the memory size, ask it for the ``user'' size - i.e. with the PROM data area taken out.
2006-05-11Fix stupid bugs in mapping and unmapping of VME regions.Miod Vallat
2006-05-09Oops, correct import this time.Miod Vallat
2006-05-09Oops, correct import this time.Miod Vallat
2006-05-09Oops, correct import this time.Miod Vallat
2006-05-08Oops, correct import this time.Miod Vallat
2006-04-27Oops, correct import this time.Miod Vallat
2006-04-18Oops, correct import this time.Miod Vallat