Age | Commit message (Collapse) | Author |
|
LUNA-88K.
LUNA-88K{,2} has one or two slot(s) that can attach the extension
board designed for PC-9801. This driver provides dedicated mmap(2)
and capability for waiting specified interrupt on that slot so that we
can use the extension board from userland program.
(*)PC-9801 is a Japanese popular personal computer, mainly used in
1980-90's. (see http://en.wikipedia.org/wiki/NEC_PC-9801)
ok miod@, and man pages jmc@
|
|
|
|
ok miod@
|
|
|
|
|
|
ok guenther@
|
|
to keep definitions our of user space. The MD files now follow a consistant
order -- all namespace intrusion is at the tail can be cleaned up
independently. locore, bootblocks, and libkvm still see enough visibility to
build. Checked on 90% of platforms...
|
|
|
|
therefore I don't mind you rotting in the Attic for eternity (scheduled
to start on the 21st anyway, according to MayaBSD developers).
reminded by deraadt@
|
|
|
|
|
|
MI float.h which pulls in and defines the values that are needed from
there, and repair sys/limits.h so that it defines the values it needs
as well (depending on POSIX version, XPG version, etc). guenther has
a more exact selection of that coming for limits.h.
this also fixes a few mistakes for the vax.
reviewed by kettenis and guenther.
|
|
GENERIC.MP on luna88k is now stable. Changes are:
- Make secondary processors boot sequence closer to OpenBSD/aviion.
This makes boot sequence more stable. Now we have not see any
assertions or panics during boot.
- Implement IPI as level 1 hardware interrupt by using software
interrupt register.
- Add IPI support and some clean-ups in interrupt handler function.
|
|
|
|
- add nearbyint, nearbyintf and nearbyintl implemented using fenv
|
|
Discussed and okay drahn@. Okay deraadt@.
|
|
since a large part of the structures and logic remains.
Since m88k has separate supervisor/user spaces, we can map physical memory 1:1
in supervisor space, and have the kernel virtual address space start from the
end of physical memory.
This allows us to switch to __HAVE_PMAP_DIRECT. And to get rid of the double
mapped sdt, since now their virtual and physical addresses will always match.
The upper bound of the kernel virtual memory space is now platform dependent,
until the code which relies upon some hardware devices being mapped 1:1 in
supervisor mode is updated to no longer require this (this is mainly a PITA on
luna88k, where onboard devices start at 0x40000000, leaving only 1GB of KVA at
the moment - still much better than the previous 512MB).
Tested on mvme88k only (187, 188, 197LE, 197DP). Other platforms ought to
work, aviion will be checked shortly and fixed if necessary. No known
OpenBSD/luna88k system in working condition at the moment.
|
|
|
|
first name is used, and remove any #define foo_region foo compatibility
defines.
Also, on sparc64, do not provide a `raw' version of bus_space_copy.
|
|
bus_space_alloc() as a bitmask of flags, and not a boolean controlling
cacheability; and make sure the three MI BUS_SPACE_MAP_xxx values documented
in the manual page are defined on all platforms as well.
|
|
with different locking mechanism. 88110 soft ipi are replaced with an
ipi callback which is checked upon return from exception (it can not be kept
as a softintr, as the generic softinterrupt code doesn't have per-cpu
pending softintr queues).
|
|
from interrupt() and related function pointers.
|
|
Not sure what's more surprising: how long it took for NetBSD to
catch up to the rest of the BSDs (including UCB), or the amount of
code that NetBSD has claimed for itself without attributing to the
actual authors.
OK deraadt@
|
|
more work in progress to handle these exceptions correctly, and document
a new undocumented and evil chip bug while there.
|
|
x86 __mp_lock changes, but keeping the internal __cpu_simplelock_t to
guarantee atomic access to the __mp_lock fields.
|
|
|
|
|
|
cpu_disklabel can go away, since nothing anymore needs to use it; ok miod
|
|
block/native label as needed rather than keeping it in cpu_disklabel.
Also a number of assorted minor tweaks to reduce the delta to sparc64
disksubr.c.
'get this in' deraadt@
|
|
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
|
|
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)
|
|
not apply to luna88k.
|
|
|
|
rt and such; tested and ok miod drahn
|
|
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
|
|
ok miod@
|
|
in its exception-related contents and pcb-related contents.
|
|
|
|
don't include dkbad.h when nothing in it is used. Missed
arm/include/disklabel.h first time around.
|
|
With a few prototype declarations shuffling, this finally allows
<machine/locore.h> to die.
|
|
factorize the build of the VBR page betweem luna88k and mvme88k.
Tested by aoyama@ and I.
|
|
|
|
|
|
Tested by aoyama@
|
|
rename the types using the __ protected namespace (e.g. __size_t).
Idea from FreeBSD.
|
|
|
|
|
|
much, much, much shorter name. It is only used to print cpu revision anyway...
|
|
on all running processors.
Tested aoyama@ and I
|
|
cruft for old compilers and environments. there may be a 2nd round of
polishing after this; ok miod and others
|