summaryrefslogtreecommitdiff
path: root/sys/arch/sgi/stand
AgeCommit message (Collapse)Author
2013-01-01Remove libsa exec.c, not used by anything anymore; all boot blocks now useMiod Vallat
loadfile or a derivative of.
2012-10-19Be sure to compile boot block objects with -D_NO_ABICALLS, to prevent .S filesMiod Vallat
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.
2012-10-19Link boot64 twice, first as a self-contained binary, to enforce there are noMiod Vallat
unresolved symbols, then as a relocatable image as initially intended. This will prevent the arcbios.c 1.18 breakage from occuring again.
2012-10-18Put back the kl_n_shift variable, removed by mistake in 1.18, causing theMiod Vallat
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.
2012-09-29Bring the `let decide ARCBios address at runtime' code to the SGI bootblocks,Miod Vallat
which allows them to run on IP26 (POWER Indigo2 R8000). Crank boot blocks version.
2012-08-31Move sgi/stand to plain -fno-pie -nopie. Binaries are the same.Pascal Stumpf
tested by and ok deraadt@
2012-08-21Add NOPIE= bits for sys/arch/*/stand to ensure that bootblocks will always bePascal Stumpf
built with -fno-pie. This gets the hairiest part of PIE out of the way ... ok deraadt@
2012-05-29When writing the new volume header to disk, write back the wholeMatthew Dempsky
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
2012-05-25Support for the POWER Indigo2 R10000 systems (IP28). Currently running withMiod Vallat
ECC checking disabled, which allows the existing Indigo2 drivers to run unmodified.
2012-03-29Put more smarts into the limited bootblocks brain; they will now happilyMiod Vallat
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.
2012-03-28Work in progress support for the SGI Indigo, Indigo 2 and Indy systemsMiod Vallat
(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).
2012-03-19Prevent the Ethernet driver to be opened twice when using a bootp() path;Miod Vallat
some ARCBios don't like this.
2012-03-19Teach the bootblocks how to load kernel from tftp (i.e. when OSLoadPartitionMiod Vallat
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.
2011-07-09Repair boot32 build after zlib upgrade.Miod Vallat
2011-04-09Make this compile without warnings in all modes, and do not use NULL whenMiod Vallat
integer zero is intended.
2011-03-18Fix obj directory probing to support cross compiling.Matthew Dempsky
"Go for it" deraadt@
2011-03-13Change daddr_t to daddr32_t. The bootblocks on our architectures onlyTheo de Raadt
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
2010-09-14Undo unrelated changes commitedby mistake.Miod Vallat
2010-09-14Force .rodata.str1.4 section to be merged into .text for the 32-bit bootblocks,Miod Vallat
fallout from using -mno-abicalls noticed by jsing@
2010-09-14unstatic variable we need elsewhere, fixes stand build on tezroMarco Peereboom
ok jsing
2010-09-14Fix couple of warningsMarco Peereboom
ok miod
2010-09-14Forc -mno-abicalls when compiling non-PIC bootblocks, for gcc 4 passes -KPICMiod Vallat
to the assembler now unless -mno-abicalls is specified.
2010-05-18dont let sys/ioctl.h imply that you get the ioctls in dkio.h. thisDavid Gwynne
gets rid of #include <sys/dkio.h> in sys/ioctl.h and adds #include <sys/dkio.h> to the places that actually want and use the disk ioctls. this became an issue when krw@'s X build failed when he was testing a change to dkio.h. tested by krw@ help from and ok miod@
2010-04-23Recycle unused disklabel fields in order to create a disklabel uniqueJoel Sing
identifier, allowing the disk to be identified without relying on the device name. ok deraadt@ krw@ beck@ marco@ todd@
2009-11-30Use the new Elfxx_Phdr check hook to prevent loading a kernel not compiledMiod Vallat
for the platform we are running on (i.e. trying to boot e.g. bsd.IP32 on an IP27 machine).
2009-11-24KSEG->CKSEG fallout.Miod Vallat
2009-10-31A chunk from my WIP bootblocks tree went in by mistake in previous commit;Miod Vallat
spotted by deraadt@
2009-10-31Do not override AS and LD, to be cross compilation friendly; noticed by syuu@Miod Vallat
2009-07-22libsa printf doesn't support sizes in %s specifiers; fix format stringsMiod Vallat
accordingly.
2009-07-15missing va_end in bios_printf & dioopen. ok miod@Martynas Venckus
2009-06-19Make the 64 bit bootblocks compile again after the <machine/mnode.h> changes.Miod Vallat
2009-06-04More fallback from struct disklabel changes, yawnMiod Vallat
2009-05-30When booting in `install software' mode from the SGI boot menu, do not try toMiod Vallat
load bsd.rd but bsd.rd.IP## matching the IP code of the machine.
2009-05-14In addition to the existing IP32 boot block, build a real 64 bit boot blockMiod Vallat
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.
2009-05-14Remove unused local.Miod Vallat
2009-05-09Promote types in ARCBios function prototypes from int to long wheneverMiod Vallat
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.
2009-02-10Unbreak sgivol. When writing to the raw device use the native blocksize.Joel Sing
Whilst here, check the return value of fread() and improve error messages. ok krw@ miod@
2008-08-25Make sgivol(8) use the device sector size for reads and writes. This allowsJoel Sing
us to use sgivol on devices which have a sector size != DEV_BSIZE, such as a CD drive. ok miod@ krw@
2008-08-08Wrap long lines and remove useless comment.Joel Sing
2008-08-08Make sgivol use the sgilabel struct from machine/disklabel.h, rather thanJoel Sing
declaring another. ok miod@
2008-06-26First pass at removing clauses 3 and 4 from NetBSD licenses.Ray Lai
Not sure what's more surprising: how long it took for NetBSD to catch up to the rest of the BSDs (including UCB), or the amount of code that NetBSD has claimed for itself without attributing to the actual authors. OK deraadt@
2008-05-20Change the OpenBSD/sgi boot loader so that we use libsa loadfile(), ratherJoel Sing
than rolling our own load functions. tested jasper@, feedback and ok miod@
2008-03-28If we fail to load the kernel, drop the user into interactive mode of ARCS,Joel Sing
rather than just rebooting. ok deraadt@, miod@, jasper@
2008-03-27Remove unwanted code and sync with mips64/arcbios.c.Joel Sing
ok miod@
2008-03-08Cleanup/style(9) code and comments.Joel Sing
2008-02-19Remove duplicate strcmp().Joel Sing
From Iruata Souza <iru.muzgo@gmail.com>
2008-02-18Cleanup sgivol(8) and make it behave more appropriately. Remove the '-f'Joel Sing
option - if we ask sgivol(8) to manipulate the volume header we really mean it. Also, use a single mode variable rather than a bunch of nutty opt_* variables. Improve the man page and usage() whilst we're here. Aside from the removal of '-f' there should be no functional changes. ok miod@ jmc@.
2007-11-30Unbreak build. Also tested by jasper@.Joel Sing
2007-11-29needs at least S definedTheo de Raadt
2007-11-26few more dribbles of LIBKERN cleanupTheo de Raadt