summaryrefslogtreecommitdiffstats
path: root/sys/arch/sgi/stand (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Use daddr_t and not daddr32_t in boot media.krw2020-12-094-10/+10
| | | | | | | | | | At a minimum, amd64/i386 should now boot from 4TB GPT formatted disks. More daddr32_t terminations with extreme prejudice to follow. Tested by various, in snaps for a few days. ok deraadt@
* Adjust sgi bootblocks' iostrategy routinesvisa2020-06-062-4/+12
| | | | | | Return an error if write is requested, only reading is implemented. Set *cnt only if the pointer is non-NULL.
* Let sgi bootblocks build again.visa2020-06-061-4/+4
|
* sgi had the same bug as sparc64 -- failed to put readdir and fchmodderaadt2020-05-261-3/+6
| | | | operations for ufs and ufs2 into the file_system[] array ...
* increment version numbers, due to recent RB_GOODSEED and fchmod +T changesderaadt2020-05-261-2/+2
|
* /etc/random.seed reuse can now be detected. The stat +T bit marks the filederaadt2020-05-261-1/+7
| | | | | (fchmod +T by bootcode, chmod 600 by /etc/rc). If the seed is reused, and HWRNG isn't available, the kernel won't get RB_GOODSEED indication...
* fchmod() will be needed soon.deraadt2020-05-251-2/+2
| | | | ok kettenis
* make loadrandom() return 0 for success, -1 for failure. While here,deraadt2020-05-251-12/+18
| | | | | | relax the fstat() check because the system will have left the file in the right mode. ok visa kettenis
* ce examples of "Ar arg Ar arg" with "Ar arg arg" and stop the spread;jmc2020-04-231-6/+6
|
* Build bootecoff with divdi3.c. bootecoff needs __divdi3,visa2020-04-061-2/+2
| | | | | | but the linker does not complain about missing symbols. Prompted by miod@
* Enable FFS2 in sgi bootblocks and ramdisks.visa2020-04-064-6/+8
| | | | | | Tested with boot64 on IP30. State of boot32 and bootecoff is unknown. OK otto@, deraadt@
* Use arc4 to bit-spread the 512-byte random buffer over the .openbsd.randomdataderaadt2019-10-292-3/+8
| | | | | | | | | section, which has grown a fair bit with the introduction of retguard. Mortimer discovered the repeated 512-byte sequence as retguard keys, and this resolves the issue. (Chacha does not fit on the media, so 1.5K early drop RC4 is hopefully sufficient in our KARL link universe) Version crank the bootblocks. sysupgrade -s will install new bootblocks. ok djm mortimer
* merge version directly into codederaadt2019-10-283-50/+5
|
* In the bootblocks, after discovering and opening /bsd.upgrade, fchmod -xderaadt2019-08-031-3/+3
| | | | | | | | | | | | | | | | so the file cannot be re-executed upon the next boot. This provides a stronger one-shot-upgrade model than the upgrade script's rm /bsd.upgrade. Now various forms of upgrade failure will reboot into /bsd, which is probably more recoverable. Performing fchmod -x depends on (1) use of MI boot.c (not alpha/macppc/sparc64/sgi/octeon) and (2) "can write blocks" functionality in the IO layer. Most architectures have this support now. Two diagnostics "fchmod a-x %s: failed" and "/bsd.upgrade is not u+x" will remain in the tree while refinements happen for some of the laggard architectures. based upon a discussion florian tested in snapshots for more than a week without any complaints
* libsa's memcpy() is actually memmove(). make a proper memmove(), and givederaadt2019-04-202-4/+4
| | | | memcpy() correct behaviour. This also brings the bcopy() macro into line.
* change marks[] array to uint64_t, so the code can track full 64-bitderaadt2019-04-101-2/+2
| | | | | details from the ELF header instead of faking it. Proposal from mlarkin, tested on most architectures already
* Fix the locating of the OpenBSD disklabel on media with 2048 bytevisa2018-03-022-7/+13
| | | | | | | sectors (installXX.iso). The change to properly locate the disklabel, introduced after 6.0, assumed incorrectly 512 byte sectors. Diff from miod@
* If you use sys/param.h, you don't need sys/types.hderaadt2017-09-081-2/+1
|
* Do not create machine@ symlinks in obj as root during includes:, buttb2016-11-062-4/+6
| | | | | | | | | defer their creation to later, so that they are owned by BUILDUSER. This eliminates the last root-owned files in obj/ from 'make build'. In addition, place a MACHINE == hppa test in hppa/stand/Makefile.inc to avoid creating bogus symlinks on all other archs. joint work with & ok natano, "let's try it" deraadt
* Make the sgi boot blocks read the real OpenBSD disklabel instead ofvisa2016-10-054-28/+165
| | | | | | | assuming that the 'a' partition starts at the same location as the volume header partition #0. Diff from Miod Vallat
* crank bootloader version after .SUNW_ctf changejasper2016-09-131-2/+5
| | | | | as discussed with jsing@ it's easier this way to ensure people have bootblocks capable of loading the section
* Prep for relro: make sure it's off for any non-PIE stand/ programguenther2016-07-301-2/+2
| | | | ok millert@ kettenis@
* Change a bunch of (<blah> *)0 to NULL.krw2016-03-141-3/+3
| | | | ok beck@ deraadt@
* Replace unbounded gets() in libsa with getln() which takes a buffer size,miod2015-11-161-2/+2
| | | | | and convert all gets() users. ok deraadt@
* Nuke a #if 0/#endif block and a related variable. No plans to ever makekrw2015-09-301-19/+1
| | | | | | this work better than it does now. Eliminates a stray use of LABELSECTOR. ok miod@
* Add IP26 kernels and boot blocks to the installation media.miod2015-09-271-2/+3
|
* typosmiod2015-09-231-3/+3
|
* revert a few stragglers hiding outtedu2014-07-121-2/+2
|
* revert bogus free changes in not kernel files. got a little trigger happy.tedu2014-07-121-2/+2
|
* add a size argument to free. will be used soon, but for now default to 0.tedu2014-07-122-4/+4
| | | | after discussions with beck deraadt kettenis.
* It's been a quarter century: we can assume volatile is present with that name.guenther2014-03-291-2/+2
| | | | ok dlg@ mpi@ deraadt@
* /etc/random.seed support in the boot blocks (only when loading from disk).miod2014-02-222-8/+57
|
* crank the versionderaadt2013-12-281-2/+2
|
* Try to load entropy data from disk:/etc/random.seed, and additionallyderaadt2013-12-281-1/+3
| | | | | | | use a MD-supplied random function. Then, insert this into the ELF openbsd.randomdata of the kernel, so that it has entropy right from the start. Some help from jsing for the softraid aspects. Also tested by phessler
* Don't forget to create a boot-IP28 link in /usr/mdec, for the sake of themiod2013-12-081-1/+2
| | | | installer. Fixes boot block installation on, well, IP28.
* fix typo in last commitderaadt2013-11-131-2/+2
|
* Oops. Use %llu for DL_GETDSIZE() value.krw2013-11-121-2/+2
|
* Use DL_GETDSIZE() to get disk size.krw2013-11-121-6/+6
|
* Remove libsa exec.c, not used by anything anymore; all boot blocks now usemiod2013-01-011-2/+2
| | | | loadfile or a derivative of.
* Be sure to compile boot block objects with -D_NO_ABICALLS, to prevent .S filesmiod2012-10-192-4/+4
| | | | | | | | | in libkern from getting a ".abicalls" pseudo-op from including <machine/asm.h>; this will in turn flag the .o file as PIC even though it doesn't contain PIC code, really. This gets rid of the annoying "linking PIC files with non-PIC files" warnings spewed by ld at link time.
* Link boot64 twice, first as a self-contained binary, to enforce there are nomiod2012-10-191-2/+7
| | | | | unresolved symbols, then as a relocatable image as initially intended. This will prevent the arcbios.c 1.18 breakage from occuring again.
* Put back the kl_n_shift variable, removed by mistake in 1.18, causing themiod2012-10-182-17/+40
| | | | | | | | | | boot blocks to fail on IP27 and IP35 (IP26, IP30 and 32-bit ARCBios systems unaffected). While there, provide a simpler ARC_Call() macro for 32-bit boot blocks, and put a few more variables and statements within explicit __LP64__ guards. Crank boot blocks version as well.
* Bring the `let decide ARCBios address at runtime' code to the SGI bootblocks,miod2012-09-294-15/+61
| | | | | | which allows them to run on IP26 (POWER Indigo2 R8000). Crank boot blocks version.
* Move sgi/stand to plain -fno-pie -nopie. Binaries are the same.pascal2012-08-314-15/+8
| | | | tested by and ok deraadt@
* Add NOPIE= bits for sys/arch/*/stand to ensure that bootblocks will always bepascal2012-08-214-4/+13
| | | | | | built with -fno-pie. This gets the hairiest part of PIE out of the way ... ok deraadt@
* When writing the new volume header to disk, write back the wholematthew2012-05-291-2/+2
| | | | | | | sector rather than just the bytes for the volume header itself. Silences the "sloppy I/O" warnings triggered by sgi's distrib scripts. tested and ok deraadt
* Support for the POWER Indigo2 R10000 systems (IP28). Currently running withmiod2012-05-253-4/+11
| | | | | ECC checking disabled, which allows the existing Indigo2 drivers to run unmodified.
* Put more smarts into the limited bootblocks brain; they will now happilymiod2012-03-293-26/+85
| | | | | | | | | | | | recognize a kernel bootpath (when not autobooting) even if it does not start with a /, and will also recognize when this is a full path (e.g. bootp()mykernel), in which case OSLoadPartition does not need to be prepended to the constructed path. This will allow ELF kernels to be booted on ELF-unaware PROM with bootp()bootecoff bootp()kernel without doomed-to-fail tomfoolery to convert the 64-bit ELF kernel to a 32-bit ECOFF binary.
* Work in progress support for the SGI Indigo, Indigo 2 and Indy systemsmiod2012-03-281-3/+2
| | | | | | | | | | | | | | | | | | | | | | | | | (IP20, IP22, IP24) in 64-bit mode, adapated from NetBSD. Currently limited to headless operation, input and video drivers will get ported soon. Should work on all R4000, R4440 and R5000 based systems. L2 cache on R5000SC Indy not supported yet (coming soon), R4600 not supported yet either (coming soon as well). Tested to boot multiuser on: Indigo2 R4000SC, Indy R4000PC, Indy R4000SC, Indy R5000SC, Indigo2 R4400SC. There are still glitches in the Ethernet driver which are being looked at. Expansion support is limited to the GIO E++ board; GIO boards with PCI-GIO bridges not ported yet due to the lack of hardware, and this kind of driver does not port blindly. Most of this work comes from NetBSD, polishing and integration work, as well as putting as many ``R4x00 in 64-bit mode'' erratas as necessary, by yours truly. More work is coming, as well as trying to get some easy way to boot install kernels (as older PROM can only boot ECOFF binaries, which won't do for the kernel).
* Prevent the Ethernet driver to be opened twice when using a bootp() path;miod2012-03-191-3/+7
| | | | some ARCBios don't like this.