summaryrefslogtreecommitdiffstats
path: root/sys/arch/sgi/stand/boot (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...
* 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
* Enable FFS2 in sgi bootblocks and ramdisks.visa2020-04-062-2/+4
| | | | | | 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
|
* libsa's memcpy() is actually memmove(). make a proper memmove(), and givederaadt2019-04-201-2/+2
| | | | 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@
* Do not create machine@ symlinks in obj as root during includes:, buttb2016-11-061-2/+3
| | | | | | | | | 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-053-27/+163
| | | | | | | 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@
* 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@
* typosmiod2015-09-231-3/+3
|
* revert a few stragglers hiding outtedu2014-07-121-2/+2
|
* add a size argument to free. will be used soon, but for now default to 0.tedu2014-07-121-2/+2
| | | | 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
* 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-311-3/+3
| | | | tested by and ok deraadt@
* Add NOPIE= bits for sys/arch/*/stand to ensure that bootblocks will always bepascal2012-08-211-1/+2
| | | | | | built with -fno-pie. This gets the hairiest part of PIE out of the way ... 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.
* Prevent the Ethernet driver to be opened twice when using a bootp() path;miod2012-03-191-3/+7
| | | | some ARCBios don't like this.
* Teach the bootblocks how to load kernel from tftp (i.e. when OSLoadPartitionmiod2012-03-199-14/+449
| | | | | | | | is bootp() instead of a disk). Kind of ugly because of the usual `can't seek' problem causing kernels with symbols to be read from the network twice. While there, add a 32 bit ECOFF boot block, not hooked to the build yet, to be used shortly.
* Make this compile without warnings in all modes, and do not use NULL whenmiod2011-04-092-6/+15
| | | | integer zero is intended.
* Change daddr_t to daddr32_t. The bootblocks on our architectures onlyderaadt2011-03-132-6/+6
| | | | | | | do 32-bit block spanning. If later on we get some that can/should do 64-bit, that can be done now using daddr64_t (but of course, we are taking this step to finalize the daddr_t 64-bit conversion). ok miod krw
* Undo unrelated changes commitedby mistake.miod2010-09-141-6/+4
|
* Force .rodata.str1.4 section to be merged into .text for the 32-bit bootblocks,miod2010-09-141-4/+6
| | | | fallout from using -mno-abicalls noticed by jsing@
* unstatic variable we need elsewhere, fixes stand build on tezromarco2010-09-141-2/+2
| | | | ok jsing
* Use the new Elfxx_Phdr check hook to prevent loading a kernel not compiledmiod2009-11-301-1/+39
| | | | | for the platform we are running on (i.e. trying to boot e.g. bsd.IP32 on an IP27 machine).
* KSEG->CKSEG fallout.miod2009-11-241-4/+4
|
* libsa printf doesn't support sizes in %s specifiers; fix format stringsmiod2009-07-221-2/+2
| | | | accordingly.
* missing va_end in bios_printf & dioopen. ok miod@martynas2009-07-151-2/+3
|
* Make the 64 bit bootblocks compile again after the <machine/mnode.h> changes.miod2009-06-191-1/+3
|
* When booting in `install software' mode from the SGI boot menu, do not try tomiod2009-05-303-24/+96
| | | | load bsd.rd but bsd.rd.IP## matching the IP code of the machine.
* In addition to the existing IP32 boot block, build a real 64 bit boot blockmiod2009-05-146-208/+92
| | | | | | | as a relocatable object, suitable for IP27/IP30/IP35. Boot blocks are now found is /usr/mdec/boot{32,64}, with boot-IP## being hard links to them for easy boot block pick.
* Promote types in ARCBios function prototypes from int to long whenevermiod2009-05-092-10/+11
| | | | | | | | | necessary, to allow the same C code to be used against 32 bit ARCBios, when compiled in 32 bit mode, or against 64 bit ARCBios, when compiled in native mode. Soon to be used by the boot blocks; this commit doesn't introduce any functional change yet.
* Change the OpenBSD/sgi boot loader so that we use libsa loadfile(), ratherjsing2008-05-202-406/+33
| | | | | | than rolling our own load functions. tested jasper@, feedback and ok miod@
* If we fail to load the kernel, drop the user into interactive mode of ARCS,jsing2008-03-281-3/+3
| | | | | | rather than just rebooting. ok deraadt@, miod@, jasper@
* Remove unwanted code and sync with mips64/arcbios.c.jsing2008-03-271-50/+60
| | | | ok miod@