Up to [cvs.NetBSD.org] / src / sys / arch / hp300 / dev
Request diff between arbitrary revisions
Keyword substitution: kv
Default branch: MAIN
Pull up following revision(s) (requested by tsutsui in ticket #722): sys/fs/cd9660/cd9660_util.c: revision 1.16 sys/arch/hp300/stand/common/clock.c: revision 1.14 sys/arch/hp300/stand/common/scsireg.h: revision 1.5 sys/arch/hp300/stand/common/scsireg.h: revision 1.6 sys/arch/hp300/stand/Makefile.buildboot: revision 1.38 sys/arch/hp300/include/bus.h: revision 1.23 sys/arch/hp300/stand/Makefile.buildboot: revision 1.39 sys/arch/hp300/stand/common/sd.c: revision 1.12 sys/arch/hp300/stand/common/prf.c: revision 1.6 sys/arch/hp300/stand/common/sd.c: revision 1.13 usr.sbin/installboot/installboot.8: revision 1.106 usr.sbin/installboot/Makefile: revision 1.59 sys/arch/hp300/stand/common/devopen.c: revision 1.14 usr.sbin/installboot/installboot.8: revision 1.107 sys/arch/hp300/stand/common/ite_dumb.c: revision 1.2 sys/arch/hp300/stand/common/devopen.c: revision 1.15 usr.sbin/installboot/installboot.8: revision 1.108 sys/fs/cd9660/cd9660_extern.h: revision 1.29 usr.sbin/installboot/installboot.8: revision 1.109 tools/Makefile.nbincludes: revision 1.11 (patch) sys/arch/hp300/dev/rboxreg.h: revision 1.3 sys/arch/hp300/stand/common/scsivar.h: revision 1.5 sys/arch/hp300/dev/dnkbd.c: revision 1.14 sys/arch/hp300/hp300/trap.c: revision 1.156 sys/arch/hp300/stand/mkboot/mkboot.c: revision 1.12 sys/arch/hp300/dev/frodoreg.h: revision 1.6 sys/arch/hp300/stand/mkboot/mkboot.c: revision 1.13 sys/arch/hp300/stand/common/ite_sti.c: revision 1.2 sys/arch/hp300/stand/common/hil.c: revision 1.15 usr.sbin/installboot/arch/hp300.c: revision 1.18 sys/arch/hp300/stand/mkboot/mkboot.c: revision 1.14 sys/arch/hp300/dev/rbox.c: revision 1.4 usr.sbin/installboot/arch/hp300.c: revision 1.19 sys/arch/hp300/stand/mkboot/mkboot.c: revision 1.15 sys/sys/bootblock.h: revision 1.59 sys/arch/hp300/stand/mkboot/mkboot.c: revision 1.16 usr.sbin/installboot/installboot.h: revision 1.44 sys/arch/hp300/stand/mkboot/volhdr.h: file removal sys/arch/hp300/stand/mkboot/mkboot.c: revision 1.17 sys/arch/hp300/dev/hpib.c: revision 1.45 usr.sbin/installboot/installboot.h: revision 1.45 usr.sbin/installboot/cd9660.c: revision 1.1 sys/arch/hp300/stand/mkboot/mkboot.c: revision 1.18 sys/arch/hp300/dev/topcatreg.h: revision 1.3 usr.sbin/installboot/cd9660.c: revision 1.2 sys/arch/hp300/stand/mkboot/mkboot.c: revision 1.19 sys/arch/hp300/stand/inst/inst.c: revision 1.25 sys/arch/hp300/stand/uboot/Makefile: revision 1.12 sys/arch/hp300/dev/dvbox.c: revision 1.4 sys/arch/hp300/dev/dma.c: revision 1.45 sys/arch/hp300/stand/uboot/Makefile: revision 1.13 sys/arch/hp300/stand/common/rd.c: revision 1.16 sys/arch/hp300/stand/inst/Makefile: revision 1.12 distrib/hp300/cdroms/installcd/Makefile: revision 1.4 sys/arch/hp300/stand/mkboot/volhdr.h: revision 1.6 sys/arch/hp300/stand/common/machdep.c: revision 1.16 usr.sbin/installboot/fstypes.c: revision 1.14 sys/arch/hp300/hp300/machdep.c: revision 1.238 sys/arch/hp300/include/cpu.h: revision 1.73 sys/arch/hp300/dev/diofbreg.h: revision 1.4 sys/arch/hp300/stand/common/scsi.c: revision 1.12 sys/arch/hp300/stand/common/netio.c: revision 1.19 sys/arch/hp300/stand/common/scsi.c: revision 1.13 sys/arch/hp300/dev/sti_sgc.c: revision 1.8 sys/arch/hp300/dev/rtc.c: revision 1.22 sys/arch/hp300/stand/mkboot/mkboot.c: revision 1.20 sys/arch/hp300/stand/common/conf.h: revision 1.4 sys/arch/hp300/hp300/autoconf.c: revision 1.111 sys/arch/hp300/stand/common/conf.c: revision 1.15 sys/arch/hp300/stand/mkboot/Makefile: revision 1.12 sys/arch/hp300/stand/mkboot/Makefile: revision 1.13 sys/arch/hp300/hp300/autoconf.c: revision 1.114 sys/arch/hp300/dev/dcmreg.h: revision 1.11 sys/arch/hp300/dev/diofbvar.h: revision 1.4 sys/arch/hp300/dev/dcm.c: revision 1.91 sys/fs/cd9660/cd9660_util.c: revision 1.15 sys/arch/hp300/dev/mcclock_frodo.c: revision 1.2 TAB/space cleanup. installboot(8): formatting improvements Use Ar foo instead of <foo>; this is mdoc. Other formatting tweaks. installboot(8): fix up markup Don't overuse .Sy - when everything is highlighted, nothing is. Use .Ic for options &c to get correct PostScript output (both are bold in plain text). Use Aq Ar inside .Pa, as both Pa and Ar are rendered as underscored text in plain text output, and the distinction is lost. Don't set examples in bold, but give them .Pp space around - they are much easier to read this way. Use consistent -width in FILES. document how to use installboot on netbsd/vax. PR/57909: Jan-Benedict Glaw: Don't include (build) timestamp when doing a reproducible build fix usage string, improve error handling. add missing chunk for repro-build. fix gcc warnings. avoid stringop truncation, fix copyright string to prevent assembler warnings. Fix build as a tool (Jan-Benedict Glaw) Fix integer overflow of strtol(3) for "loadpoint" address on ILP32 hosts. This strtol(3) was introduced in rev 1.12 for PR/57909 after netbsd-10, but it returns LONG_MAX (0x7FFFFFFF) for 0xFFF00000 on ILP32 hosts and the wrong loadpoint causes "NOT ENOUGH MEMORY" error by the BOOTROMs on loading uboot.lif on (at least) my 9000/360 and 9000/425t. Misc cosmetic changes for mostly readability. - KNF and add some newlines per blocks - define and use proper bintobcd() macro - make local functions and variables static The same uboot.lif binaries are generated. Rename ${PROGAOUT} -> ${PROGELF} to reflect reality. Use proper signedness for the LIF file system data structures. Ancient 4.3BSD used short and int for location, file size, file type, and addresses etc. but all of them should be unsigned. Also rename several variables and add comments for readability. The LIF file system info can be found in "The HPDir Project" page: https://www.hp9845.net/9845/projects/hpdir/ The same uboot.lif binaries are generated. Add a preliminary CD boot support to uboot for preparation of PR/54455. Briefly tested on mame, but not enalbed yet. Recognize SCSI CD-ROM devices as a booted device properly. Necessary for PR port-hp300/54455, to boot an md root root RAMDISK kernel from CD-ROM without "WARNING: can't find match for bootdev:" prompt. Sync with src/sys/arch/hp300/stand/mkboot/volhdr.h rev 1.6. https://mail-index.netbsd.org/source-changes/2024/05/07/msg151195.html Use proper signedness for the LIF file system data structures. mkboot should use this MI <sys/bootblock.h> and volhdr.h should be removed soon. Use MI <sys/bootblock.h> to refer LIF filesystem structures. This should have been done when LIF definitions were initially added to <sys/bootblock.h> for MI installboot(8). Enable SUPPORT_CD on uboot. Make cd9660_util.c usable in userland tools like installboot(8). This was partially done for src/distrib/cdrom/macppc_installboot, but more strict prototypes are necessary for native binary builds. Install cd9660 related system headers for tools installboot(8) builds. Reorder function prototypes per source files. Add cd9660 support to search a bootloader file in the target file system. Also add CD boot support for hp300, using a bootloader file in cd9660 fs. This is a tool's part to close PR/54455. HP 9000/300 machines read LIF directory entry allocated after the LIF volume header at the top of the boot disk during bootstrap, and a bootstrap file must be contiguously allocated on the disk due to limitation of the LIF specification. Current NetBSD/hp300's bootloader is larger than ~80KB so we have to prepare a special 'boot' partition for FFS (that has only 8KB (ffsv1) or 32KB (ffsv2) spaces) disks to put such a large bootloader. On the other hand, on ISO9660 fs all files are allocated contiguously so we can specify a bootloader file in the target ISO9660 directly in the LIF directory entry. Note we can simply use the existing "append" option to create bootable CD ISO for hp300, but it looks some emulators (at leaset MAME) reject such non-standard ISO files, i.e. with an appended bootloader file at the end of the image. Put a RAMDISK kernel and SYS_UBOOT into hp300 installcd to make it bootable. This should finally close PR/54455. Fix tools build errors on Cygwin. Appease warnings on building tools/installboot on Cygwin.
TAB/space cleanup.
fix various typos in comments, mainly s/pallete/palette/.
Merge thorpej-cfargs2.
Adapt to CFARGS().
Merge thorpej-cfargs branch: Simplify and make extensible the config_search() / config_found() / config_attach() interfaces: rather than having different variants for which arguments you want pass along, just have a single call that takes a variadic list of tag-value arguments. Adjust all call sites: - Simplify wherever possible; don't pass along arguments that aren't actually needed. - Don't be explicit about what interface attribute is attaching if the device only has one. (More simplification.) - Add a config_probe() function to be used in indirect configuiration situations, making is visibly easier to see when indirect config is in play, and allowing for future change in semantics. (As of now, this is just a wrapper around config_match(), but that is an implementation detail.) Remove unnecessary or redundant interface attributes where they're not needed. There are currently 5 "cfargs" defined: - CFARG_SUBMATCH (submatch function for direct config) - CFARG_SEARCH (search function for indirect config) - CFARG_IATTR (interface attribte) - CFARG_LOCATORS (locators array) - CFARG_DEVHANDLE (devhandle_t - wraps OFW, ACPI, etc. handles) ...and a sentinel value CFARG_EOL. Add some extra sanity checking to ensure that interface attributes aren't ambiguous. Use CFARG_DEVHANDLE in MI FDT, OFW, and ACPI code, and macppc and shark ports to associate those device handles with device_t instance. This will trickle trough to more places over time (need back-end for pre-OFW Sun OBP; any others?).
Give config_found() the same variadic arguments treatment as config_search(). This commit only adds the CFARG_EOL sentinel to the existing config_found() calls. Conversion of config_found_sm_loc() and config_found_ia() call sites will be in subsequent commits.
Sync w/ HEAD.
Pull up following revision(s) (requested by tsutsui in ticket #1162): sys/dev/ic/stivar.h: revision 1.11 sys/dev/ic/sti.c: revision 1.23 sys/dev/ic/sti.c: revision 1.24 sys/dev/ic/sti.c: revision 1.25 sys/arch/hp300/dev/sti_sgc.c: revision 1.4 Pull the latest OpenBSD sti(4) changes for bitmap framebuffer support. - bitmap and colormap ops based on old HP ngle X11 driver: http://cvsweb.openbsd.org/cgi-bin/cvsweb/src/sys/dev/ic/sti.c#rev1.76 > Work-in-progress support for non-accelerated X11 on *some* sti(4) > frame buffers; based upon the old HP ngle X11 driver. > Currently limited to CRX (720/735/750), Timber (710, old 715), > Artist (712, 715) and EG (B-series), however the > colormap isn't set up correctly on Timber and EG yet. > > Joint work with Artem Falcon, now in good enough shape to be worked further > in the tree. - misc other cosmetic changes to reduce diffs No particular comments on port-hp300@ and port-hppa@: https://mail-index.netbsd.org/port-hp300/2020/12/19/msg000184.html https://mail-index.netbsd.org/port-hp300/2020/12/20/msg000185.html The MD hp300 attachment for SGC CRX (A1659-66001) will be committed separately. Add bitmap access ops support for SGC CRX (A1659-66001) framebuffer. Also modify existing 425e EVRX attachment to use updated MI sti(4) ops more efficiently. The Xorg server and mlterm-wscons (that support wsdisplay bitmap) work fine on SGC hp425t. No particular comments on port-hp300@ and port-hppa@: https://mail-index.netbsd.org/port-hp300/2020/12/19/msg000184.html https://mail-index.netbsd.org/port-hp300/2020/12/20/msg000185.html Special thanks to Miod Vallat again, for contributing the SGC CRX framebuffer with the SGC connector and flexible cable for HP9000/425t. He also contributed DIO-II "Hyperion" monochrome framebuffer and 1 plane grayscale SGC GRX (A1924-66001), and I've confirmed hyper(4) just works even with Xorg server. I will try GRX as the next project. Handle WSSCREEN_REVERSE properly. Based on OpenBSD's sti(4). Also remove WSSCREEN_UNDERLINE from capabilities that is not handled by sti(4) ROM routines. Tested on HP9000/425t with CRX. Ignore WSDISPLAYIO_PUTCMAP in WSDISPLAYIO_MODE_EMUL, i.e. text mode. The hardware palette settings are handled by the STI ROM in STI_TEXTMODE and changing cmap could cause mangled text colors at least on CRX on 425t. Updating CMAP in EMUL mode isn't expected anyway. Fixes "red or invisible text" after exiting mlterm-wscons on A1659 CRX.
Add bitmap access ops support for SGC CRX (A1659-66001) framebuffer. Also modify existing 425e EVRX attachment to use updated MI sti(4) ops more efficiently. The Xorg server and mlterm-wscons (that support wsdisplay bitmap) work fine on SGC hp425t. No particular comments on port-hp300@ and port-hppa@: https://mail-index.netbsd.org/port-hp300/2020/12/19/msg000184.html https://mail-index.netbsd.org/port-hp300/2020/12/20/msg000185.html Special thanks to Miod Vallat again, for contributing the SGC CRX framebuffer with the SGC connector and flexible cable for HP9000/425t. He also contributed DIO-II "Hyperion" monochrome framebuffer and 1 plane grayscale SGC GRX (A1924-66001), and I've confirmed hyper(4) just works even with Xorg server. I will try GRX as the next project.
Pull up following revision(s) (requested by tsutsui in ticket #908): sys/dev/ic/stivar.h: revision 1.10 sys/dev/ic/sti.c: revision 1.21 sys/arch/hp300/dev/sti_sgc.c: revision 1.3 Add bitmap access ops support for EVRX framebuffer on HP9000/425e. 8bpp Xorg wsfb server and mlterm-wscons (formerly mlterm-fb) work. No particular comment on port-hp300@ and port-hppa@: https://mail-index.netbsd.org/port-hp300/2020/05/02/msg000170.html Special thanks to Miod Vallat, for his advice about HP-UX implementation and binutils patches to disassemble old HP-UX a.out-hp300hpux binaries (and also contributing his 425e back in 2014).
Add bitmap access ops support for EVRX framebuffer on HP9000/425e. 8bpp Xorg wsfb server and mlterm-wscons (formerly mlterm-fb) work. No particular comment on port-hp300@ and port-hppa@: https://mail-index.netbsd.org/port-hp300/2020/05/02/msg000170.html Special thanks to Miod Vallat, for his advice about HP-UX implementation and binutils patches to disassemble old HP-UX a.out-hp300hpux binaries (and also contributing his 425e back in 2014).
Rebase to HEAD as of a few days ago.
Rebase.
sync with head. for a reference, the tree before this commit was tagged as yamt-pagecache-tag8. this commit was splitted into small chunks to avoid a limitation of cvs. ("Protocol error: too many arguments")
Pull up following revision(s) (requested by tsutsui in ticket #1058): sys/arch/hp300/conf/files.hp300: revision 1.88 sys/arch/hp300/include/autoconf.h: revision 1.13 sys/dev/ic/sti.c: revision 1.17 sys/arch/hp300/dev/frodo.c: revision 1.31 sys/arch/hp300/conf/GENERIC: revision 1.173 sys/arch/hp300/hp300/machdep.c: revision 1.229 sys/arch/hp300/dev/frodo.c: revision 1.32 sys/arch/hp300/hp300/autoconf.c: revision 1.102 sys/arch/hp300/dev/frodoreg.h: revision 1.5 sys/arch/hp300/stand/common/ite_sti.c: revision 1.1 sys/arch/hp300/stand/common/itevar.h: revision 1.16 sys/arch/hp300/hp300/autoconf.c: revision 1.105 sys/arch/hp300/dev/sti_sgcvar.h: revision 1.1 sys/arch/hp300/stand/common/apci.c: revision 1.12 sys/arch/hp300/stand/common/apci.c: revision 1.13 sys/arch/hp300/dev/dnkbd.c: revision 1.6 sys/arch/hp300/dev/dnkbd.c: revision 1.7 sys/arch/hp300/stand/inst/version: revision 1.12 sys/arch/hp300/dev/com_frodo.c: revision 1.9 sys/arch/hp300/stand/common/ite.c: revision 1.17 sys/arch/hp300/conf/GENERIC: revision 1.181 sys/arch/hp300/dev/sti_sgc.c: revision 1.1 sys/arch/hp300/stand/common/dnkbd.c: revision 1.13 sys/arch/hp300/dev/sti_sgc.c: revision 1.2 sys/dev/ic/stivar.h: revision 1.8 sys/arch/hp300/dev/rtc.c: revision 1.21 sys/arch/hp300/conf/INSTALL: revision 1.56 sys/arch/hp300/conf/INSTALL: revision 1.58 sys/arch/hp300/stand/uboot/version: revision 1.19 sys/arch/hp300/stand/common/samachdep.h: revision 1.17 sys/arch/hp300/stand/common/clock.c: revision 1.12 sys/arch/hp300/dev/mcclock_frodo.c: revision 1.1 sys/arch/hp300/stand/Makefile.buildboot: revision 1.34 sys/arch/hp300/conf/files.hp300: revision 1.87 Add sti at sgc framebuffer. Ported from OpenBSD by kiyohara@. Fix a botch on switching from apci (and dca) to MI com(4) 10 years ago. I.e. fix apci device address per FRODO_BASE macro change in frodoreg.h rev 1.2. Now bootloader works with serial console on HP425e (which has only com at frodo). Thanks to miod@openbsd for providing his 425e. Add sti(4) at sgc screen console support. From (the late) OpenBSD/hp300. Tested on HP9000/425e, which was sent from Miod Vallat and demonstrated at Open Source unConference 2014 Kagawa. Check the service switch on 425e to select apci serial console. Taken from OpenBSD/hp300. See the following comment for details: > * Check the service switch. On the 425e, this is a physical > * switch, unlike other frodo-based machines, so we can use it > * as a serial vs internal video selector, since the PROM can not > * be configured for serial console. Add proper RealTime Clock support for HP9000/425e. As the OpenBSD/hp300 page says 425e doesn't have the traditional RTC at intio (as it also lacks DCA 16550 serial at intio?), but after a few hour investigation it turns out that 425e uses mc146818 compatible calendar clock in the Apollo "frodo" utility chip and the frodo chip on 425e actually has the 32kHz OSC and is actually backed up by the onboard lithium battery. Tested on HP425e (with mcclock) and HP362 (with old rtc). Add RTC support for HP9000/425e to bootloader too. Also put several cleanup: - make local functions and variables static - use proper variable types - some KNF Note it turns out that extreme slowness of netboot on hp300 is caused by the too slow access of the traditional RTC chip at intio (i.e. netboot on 425e is so much faster than others). Oh well. Add proper consinit(9) support for sti(4) at sgc framebuffer on hp300. The cnattach functions for sti(4) and service switch check method for 425e in com_frodo.c are taken from OpenBSD. The strategy how to choose the console device in hp300_cninit() is quite diverged from 4.4BSD and OpenBSD so it's tweaked by me. Also put several changes in sti_sgc.c to reduce diffs from OpenBSD/hp300. Tested on 425e and 362 (which still uses gendiofb(4), not sti(4)). XXX: sti(4) requires uvm_km_alloc(9) and uvm_map_protect(9) to copy and call ROM functions on the executable memory region, so it can be called before UVM and related initializations are complete. Probably it's time to consider about MI "deferred consinit()" API in init_main.c (or elsewhere) for modern complicated VM system... Also fix the apci device address in dnkbd.c as apci.c rev 1.12: http://mail-index.netbsd.org/source-changes/2014/04/10/msg053940.html Finally dnkbd(4) is confirmed working at least on bootloader. Thanks again to Miod Vallat. Make the Apollo Domain keyboard actually work. Tested on HP9000/425e and the keyboard model A1630-82001 R2 (RX-60857-HW) provided by Miod Vallat. Mouse support needs more work. Pull random notes on the Apollo Domain keyboard from ancient PR/3528. Bump versions to denote recent 425e related changes. Probe mcclock only on 425e to avoid an extra "not configured" message. Add and enable sti(4) at sgc in install kernels for 425e. Tested on both serial console and framebuffer console. (switched by the service switch on the back panel)
sync with head
file sti_sgc.c was added on branch netbsd-6 on 2014-05-21 20:56:36 +0000
Add proper consinit(9) support for sti(4) at sgc framebuffer on hp300. The cnattach functions for sti(4) and service switch check method for 425e in com_frodo.c are taken from OpenBSD. The strategy how to choose the console device in hp300_cninit() is quite diverged from 4.4BSD and OpenBSD so it's tweaked by me. Also put several changes in sti_sgc.c to reduce diffs from OpenBSD/hp300. Tested on 425e and 362 (which still uses gendiofb(4), not sti(4)). XXX: sti(4) requires uvm_km_alloc(9) and uvm_map_protect(9) to copy and call ROM functions on the executable memory region, so it can be called before UVM and related initializations are complete. Probably it's time to consider about MI "deferred consinit()" API in init_main.c (or elsewhere) for modern complicated VM system...
resync with head
sync with head
file sti_sgc.c was added on branch tls-maxphys on 2013-02-25 00:28:41 +0000
file sti_sgc.c was added on branch yamt-pagecache on 2013-01-23 00:05:47 +0000
Add sti at sgc framebuffer. Ported from OpenBSD by kiyohara@.