Age | Commit message (Collapse) | Author |
|
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.
|
|
'original' LUNA-88K.
|
|
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.
|
|
|
|
ok miod@
|
|
|
|
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.
|
|
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@
|
|
processed on this driver.
"This is correct" miod@
|
|
|
|
Actually, there seems to be no PC-9801 extension board slot on
'original' LUNA-88K.
ok miod@
|
|
`official' name.
ok jmc@ miod@
|
|
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 dlg@ mpi@ deraadt@
|
|
"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.
|
|
Bump version.
|
|
install' properly.
ok miod@
|
|
other platforms.
ok miod@
|
|
kernels:
- keyboard drivers will now tell wskbd if the keyboard layout they ask
for is a default value, or a value they are 100% sure of (either
because your kernel has a XXXKBD_LAYOUT option, or because the
driver can tell the keyboard layout, e.g. by the country code on USB
keyboards which provide it, such as Sun's)
- when attaching a keyboard with a non-default layout, the layout will
become the default layout of the mux for new keyboard attachments if
the mux doesn't have a layout set already.
- when changing the keyboard layout of a particular keyboard with an
ioctl (i.e. using kbd(8) or wsconsctl(8)), the layout will become the
default layout of the mux for new keyboard attachments.
ok mpi@
|
|
libkern srandom() API since it is not suitable for this use.
ok kettenis miod
|
|
This ioctl changes `pseudo' frame buffer depth, in order to use color
wscons and monochrome X server both. Also need to some
luna88k-specific initialization in
xenocara/driver/xf86-video-wsfb/src/wsfb_driver.c.
|
|
|
|
No functional change.
|
|
This brings color support on LUNA's wscons. And, with the help of recent
development version of 'mlterm-fb' (frame buffer version of ports/x11/mlterm),
graphic images can be displayed in 16/256 colors on the screen. Thanks to
arakiken, the original developer of mlterm!
This diff is based on NetBSD/luna68k work:
http://mail-index.netbsd.org/source-changes/2013/12/28/msg050266.html
Need more work to coexist with the monochrome X.Org server.
"go ahead!" miod@
|
|
According to the manual, the address register does not automatically
increment when we access to the control registers. Also we disable
overlay planes, because we do not use them.
This diff should be one of preliminaries for upcoming colored wscons on
luna88k.
ok miod@
|
|
ok miod@
|
|
"sure" deraadt@
|
|
generic function, based on hp300/dev/diofb_mono.c.
This also fixes `screen is not updated when delete a character if it
is on the middle of a 32-bit word of the frame buffer' problem.
"Go for it!" miod@
|
|
Use this on luna88k to map the bitmap planes of the frame buffer used by
the driver. 10% speedup under X.
|
|
with ctrl-alt/zenmen-esc. Tested on three different keyboard models (compact
black, JIS, and full-sized) by aoyama@ and me.
|
|
lowest bitmap plane, and a page per plane to be able to probe the frame buffer
depth.
Saves an insignificant amount of kernel memory (about 4KB), still worth doing.
ok aoyama@
|
|
ok miod@
|
|
The same logic is also applied to luna88k/dev/timekeeper.c.
suggested and ok miod@
|
|
DL_[GET|SET]PSIZE(), DL_[GET|SET]POFFSET(), DL_[GET|SET]DSIZE() in
order to get|set correct value that includes the high bits of the
value.
|
|
dbatc. Add batc mapping support for 88110 systems as well.
|
|
DBATC may span over parts of .rodata.
|
|
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.
|
|
|
|
and switch to it, on all processors, after autoconf is over. First step
towards being able to unmap the low memory and have address 0 non-accessible
in the kernel.
|
|
(u_int64_t) instead of (daddr_t) when casting a variable in an
expression passed to DL_SETDSIZE().
Change a variable counting open files from daddr_t to int64_t.
ok deraadt@ with the tweak to fix that pesky expression.
|
|
|
|
|
|
conversion done in objcopy loses if an alignment smaller than this is
requested (and this is probably my {fault,bug}, somewhere in binutils). Shrinks
the boot blocks a bit.
|
|
gets(), featurewise; this means support for ^u to clear the input. Requested by
aoyama@
|
|
bootloader for ELF kernels.
|
|
"bsd", since the PROM boot_filename has to point to the bootloader itself
(I store mine as /vmunix).
|
|
- accept empty controller and partition numbers, as well as empty filenames,
and use defaults (0, 0 and "bsd") instead of complaining the boot path
is invalid.
- do not attempt to detect and report devices at boot, using a small
list of possible devices (only scsi id #6 and #5, come on!).
Instead, parse the user-supplied boot string to figure out which controller
and device to talk to. (still no SCSI LUN support, though).
Because of the last change, SCSI unit numbers ought to match the PROM
numbering now (10 * controller + 6 - device id).
Crank version to 0.2.
|
|
Constify the bitmap font.
Bound check sd() numbers instead of accessing an array out of bounds (noticed
by aoyama@).
Use the same SCSI select timeout as the kernel does (250ms instead of 2ms).
|
|
|