Add lk_bell() to ring keyboard audible bell (for rcons bell).
Add LK_KEY_CLICK option to reset keyboard and enable keyclick.
(off by default since theres no way to control it from userland yet).
+ Don't use our own "clean" and "depend" targets
+ "make depend" works
+ Only include each include path once on compile lines
+ Clean up include file names
+ Don't build a separate libdrive.a, just specify driver source files
+ Use "make print-objdir" instead of old "printf ... | make -f-"
+ Remove more unnecessary targets, variables and other cruft
Still builds identical bootblocks to 1.3.3 with gcc, still too large
with egcs.
dec_boot.h, dec_exec.h & dec_prom.h were copied via respository
copy to sys/arch/pmax/stand/libsa.
+ dependency on libsa works
+ set and use BINDIR/BINMODE
+ don't pull in sys/lib/lib{sa,kern}/Makefile.inc (``make clean''
doesn't make empty lib/{sa,kern} directories in each
directory/obj dir).
+ remove unnecessary targets, variables and other cruft
+ wrap lines at 80 chars
Re-ordering SRCS line in libsa/Makefile to a more logical sequence
(alphabetical by source dir) results in a libsa.a with archive members
in a different order, and a resultant bootrz that differs from the 1.3.3
bootrz. Untested as yet, so left in but commented out.
Also, _don't_ install the bootblocks (as per intent of previous commit)
or our own small libsa(!).
2.7.2.2-myc2 (and produces _identical_ bootblocks with the 1.3.3
bootblocks which weren't in the tree), but egcs 1.1.1 builds a ufs.o
that's about a 100 bytes too big, and it busts the 7.5k we've got for
bootrz.
Still needs cleanup - the Makefiles could be better/cleaner, and doesn't
install yet (because of above problem). At least there's something to
work with now.
Note that we have our own versions of a lot of the sys/lib/libsa
routines which are less functional/smaller.
minor of libc and the major of libutil). For little-endian architectures
merge the bnswap() assembly versions with nto* and hton* using symbols
aliasing. Use symbol renaming for the bswap function in this case to avoid
namespace pollution.
Declare bswap* in machine/bswap.h, not machine/endian.h. For little-endian
machines, common code for inline macros go in machine/byte_swap.h
Sync libkern with libc.
Adjust #include in kernel sources for machine/bswap.h.
console setup and driver attach-time.
* Dont wire potential console lines as CLOCAL; use softcar.
* #ifdef tests on #ifdef NRASTERCONSOLE, not HAVE_RCONS.
* use dc_coldparam() in dc_tty_init(), dc_kbd_init().
* use dc_tty_init() to set line for serial console in dc_consinit()
* only call dc_mouse_init() if the console major-number is RCONSDEV.
- returned EOPNOTSUPP rather than -1.
- no check for negative offset.
many of these fix potential security problems in these drivers.
XXX XXX XXX
the d_mmap cdev routine should be changed to have a prototype like:
paddr_t (*d_mmap) __P((dev_t, off_t, int));
by someone!
Use scc_tty_init() in scc_consinit(). Declare scc_consinit() in sccvar.h.
* Remove last vestige of special-case console handling in sccparam() code.
* Call scc_consinit() from findcons scc_serial() console-setup.
Dont PROM for scc serial console at all.
attempt results in the up and down arrows not repeating in the X server.
The keyboard division table is modified to place the Right-Shift keycode
into division 6 along with the Left-Shift and Control. A corresponding
change to the X server lk201 keyboard handler is also required.
This got lost when disk geometry processing was updated.
Also move the CDROM check from rzread() to rzwrite() - it doesn't make
much sense to report a read-only filesystem error when trying to read a
CDROM.
-sys/lib/libkern builds as library per default (as it was documented all
the time)
-ports able to LKM set "KERN_AS=obj" explicitely in their Makefiles
(for now; should depend on actual "option LKM" or -better- functions
included for LKM use should be pulled in by a stub)
-always link libcompat before libkern - libkern stuff can be referred to
by libcompat, but not the other way
struct scsipi_adapter; they were not used.
Add a scsipi_ioctl entry point to struct scsipi_adapter. This will be
used to issue ioctl commands to the host adapters.
Inspired by PR #6090, from Matt Jacob.
Adds (most) support for ARC platform to port-independent mips code.
Some changes (e.g., clean up of overlapping CPU/FPU ids) inspired by
comparison to the OpenBSD 2.1 codebase of Soda's ARC port.
Open issues:
* Still no support for r4600 or mipsIV CPUs with two-way L1 cache.
Code derived from Per Fogelstrom's OpenBSD source doesn't work
on mips3 pmaxes with L2 cache.
* Still some port-specific #ifdefs, for interrupt enable and
pmax L2 cache-size. Needs more thought, but overlaps with
work-in-progress by Tohru and Tsubai on spl()s and related stuff.
initialized yet. Use the base variable, and also use the symbolic symbols
to acdess the registers. Also, the console max_rows is based on the
display height, not the width.
- bump cpu_model[] length as the longest name occupies over 30 characters.
- place machine_arch[] beside machine[] for clearity.
- nuke useless #include directives.
- small scale cleanup in vm_machdep.c
as with user-land programs, include files are installed by each directory
in the tree that has includes to install. (This allows more flexibility
as to what gets installed, makes 'partial installs' easier, and gives us
more options as to which machines' includes get installed at any given
time.) The old SYS_INCLUDES={symlinks,copies} behaviours are _both_
still supported, though at least one bug in the 'symlinks' case is
fixed by this change. Include files can't be build before installation,
so directories that have includes as targets (e.g. dev/pci) have to move
those targets into a different Makefile.
making performance of bus_dma drivers not completely suck on the DECstation.
XXX R4000 case is still abysmal, because some other data structure
modification is required to deal with the virtually-indexed R4000 cache.
controllers (including SCSI id 7 on the 2100/3100).
- On the pmax (2100,3100) set the host SCSI id to 6.
- Move disk and tape config for the second ASC controller from the GENERIC
config file to scsi.pmax so all configurations can use the second
controller.
* ibus (virtual bus for baseboard direct-attach deviecs)
* 5100 support, using ibus
* rename "clock" to mcclock for future support of Qbus machiens
* use sys/dev/dec mcclock_pad32 machinery for pmax mcclock
* reworked TC config code.
Also make TC framebuffer-console search table-driven.
Does not yet include "tcasic" layer; there's no such hardware on DECstations
and nothing for a tcasic layer to do.
into sys/dev/dec and split into a clockfns layer and a "middle" layer
for other DEC systems which use mcclocks with each onchip byte
register padded out to a 32-bit word.
Clone alpha/alpha/mcclock (also duplicated in pmax port) into
sys/dev/dec, and ifdef for default clockrates on pmax and alpha.
Use new machinery on pmax for ibus,ioasic attached mcclocks.
read and write compare register (controls cycle-driven periodic interrupt).
Use cycle counter for microsecond time on mips3, but for now only on
3min motherboards (5000/150). the MAXINE baseboard microsecond
counter is more stable and I don't ave no 5000/260 to test.
XXX clkread() is a mess, it should be rewritten.
XXX should add nanotime() to give inkernel nanosecond resolution,
and then microtime() reworked to use nanotime().
* dec_5100.c: sysconf, interrupt, and motherboard (drain writebuffer)
support for 5100.
* support for hardware kludge in 5100: sii DMA buffer is hardware
padded to alternate 32-bit words, not alternating 16-bit halfwords.
* 5100 has no framebuffer, console is wired to serial port 0.
With ibus support, boots as far as exec'ing init, and hangs.
a HAVE_GCC28 check-variable that can now be used to add other gcc-2.8
flags in cases where they may be useful, or to remove gcc 2.7.2 "bug
workaround" flags.)