summaryrefslogtreecommitdiffstats
path: root/sys/i386/boot
Commit message (Collapse)AuthorAgeFilesLines
* Moved instantiation of `poff' to sys.c. It is no longer used in disk.c.bde1996-09-142-24/+30
| | | | | | | | | | | | | | | | | | | Saved a few bytes by copying `dosdev' and/or `name' to local variables. This optimization (for dosdev) was done in one place before but this was lost in the devread() cleanup. This optimization (for dosdev) can almost be done by bogusly declaring dosdev as const, but gcc still often space-pessimizes code like the following: extern const int dosdev; ... foo(dosdev); bar(dosdev); gcc often doesn't bother to copy dosdev to a temporary local because the local would have to be preserved in memory across the call to foo(). OTOH, for extern int dosdev; ... auto int dosdev_copy = dosdev; ... foo(dosdev_copy); bar(dosdev_copy); the copy must be made because foo() might alter dosdev.
* Removed declarations of recently deleted variables and cleaned upbde1996-09-141-6/+6
| | | | #includes.
* Potentially saved a whole 4 bytes and reduced bogusness by eliminatingbde1996-09-142-5/+4
| | | | | | | | the pointer to the string "/kernel". This pointer was once only statically to once save space, but it has had to be dynamically initialized for some time, so the static initialization just wastes space. The string gets moved to the text section, so the actual savings may be negative due to padding.
* The intended usage is:phk1996-09-112-0/+100
| | | | | | cat /usr/mdec/rawboot /sys/compile/FOO/kernel | fdwrite That should explain it all :-)
* Add #ifdef for RAWBOOT.phk1996-09-112-27/+54
| | | | remove some #if 0 stuff.
* Add "rawboot", sort the subdirs.phk1996-09-111-2/+2
|
* Rather than adding more gunk here, clean some of it up:phk1996-09-103-48/+34
| | | | | | devread() had a bogus interface, cleaned up. Bread() did an unneeded bcopy(), don't. Saves 80 bytes and some time.
* Remove boot2 when the size test fails so that rebuilding without fixingbde1996-09-071-2/+4
| | | | | | | the problem doesn't bogusly succeed. Print size failures to stderr instead of stdout and don't print bells and whistles.
* Saved 48 bytes (46 before padding) using assorted nano-optimizations:bde1996-09-071-13/+14
| | | | | | | | | | | | | | | | | | - avoiding strcmp("?" saved 12 bytes. gcc inlined the strcmp() but this takes as much or more code as a function call. The inlining was bogus because the strcmp() in the bootstrap isn't standard. - using a char instead of an int for the boolean `last_only' saved 8 bytes. Booleans should usually be represented as chars on the i386. - simplifying the return tests saved 9 bytes. - using putc instead of printf to print a newline saved 3 bytes of code and 2 bytes of const data. - avoiding `else's by always doing the else clause and fixing it up saved 4+8 bytes.
* Saved 48 bytes (56 before padding) by moving a variable declaration.bde1996-09-071-2/+3
| | | | | | | | | | | | | | | | gcc always generates large code for accesses to globals. For locals it only generates large code if there are more than 128 bytes of locals. It sorts scalar locals after array locals to pessimize for space in the usual case when there are more (static) references to scalars than to arrays. Saved another 16 bytes (13 before padding) by adding a `continue'. Fall-through tests normally save space, but here one of them made gcc do space-unoptimal register allocation (it allocates ch in %bl because preserving this register across function calls is "free", but comparisions with %bl take one byte fewer than comparsions with %bl).
* Back out the previous changesjulian1996-09-052-86/+75
| | | | | | | I just couldn't get the code to be as small as it should have gotten.. atill a LITTLE bigger than before as I need to allow the default string to have options as well
* 3 changes:julian1996-09-043-82/+92
| | | | | | | | | | | | | | | | | | | | | | | | | | | 1/ Makefile: the maximum size for boot2 is 7.5K not 7K, so don't complain until it reaches THAT size.. newfs leaves 8K and boot 1 is 512k. leaving 7.5K becasue the disklabel is considered to part of the boot2 file. [512 boot1][512 disklabel][ 7K boot2 code ] [boot1 file][ boot2 file ] 2/ Boot2.S: move the soring of the default name read from block 2 to AFTER clearing the BSS. 3/ boot.c: Move the parsing of the command line into the place it's called for clarity.. alsoi comment it a bit and clean it up a bit.. for some reason this seems ot have made it a little larger, but I can't work out why.. maybe bruce might have ideas? compensated for by shrinkage elsewhere.. the practical result of this is htat the default string can now contain args e.g. if you change the default string to have -gd then the machine will boot to the dgb debugger stub by default.. this is mostly useful with the nextboot utility.. as it now allows you to remotely force a machine to reboot into the debugger.
* Add g to flags helpache1996-08-281-1/+1
|
* Add g option to usage lineache1996-08-282-2/+3
|
* Support for GDB remote debug protocol.pst1996-08-274-4/+10
| | | | Sponsored by: Juniper Networks, Inc. <pst@jnx.com>
* s/ETHER_MIN_LAN/ETHER_MIN_LEN/peter1996-08-191-1/+1
|
* Fix a couple of typos that sneaked in with Poul's ETHER_* mega-commit.joerg1996-08-181-2/+2
| | | | Reviewed by: phk
* Megacommit to straigthen out ETHER_ mess.phk1996-08-066-42/+33
| | | | | I'm pretty convinced after looking at this that the majority of our drivers are confused about the in/exclusion of ETHER_CRC_LEN :-(
* Moved the definition of DEBUGMSG() from asm.h to start.S. This macrobde1996-07-122-13/+13
| | | | | | | | is only appropriate to use in the special environment of start.S (real mode plus some conventions about not saving registers), and asm.h is supposed to be for generic macros. Removed some unnecessary parentheses.
* Moved the definition of `bsize' out of a DO_BAD144 ifdef so that thisbde1996-07-121-2/+2
| | | | compiles when DO_BAD144 is not defined.
* Moved the definition of dflt_name to the correct file (table.c is only forbde1996-07-123-5/+8
| | | | explicitly initialized data) and made it conditional on NAMEBLOCK.
* Fixed some speling, punctuation.. and spac ing errors.bde1996-07-122-19/+19
|
* make the NAMEBLOCK changes conditional on that preprocessor variable,julian1996-07-093-10/+15
| | | | | and add more documentation of the option in the Makefile also CORRECT the variable mentioned in the README.
* Add the ability to specify bootflags. This is similar to boot_i386(8),joerg1996-07-062-3/+31
| | | | except for the root f/s options that don't seem to be useful.
* Obtained from: Whistle Communicationsjulian1996-07-056-63/+240
| | | | | | | | | | | | | | Add code to the boot blocks to allow the user to place default boot strings on block 1 of the disk (2nd block), should the correct magic numbers be present. If the correct options are used it will 'delete' the name used from block1, thereby assuring that if the boot fails it won't be stuck in an infinite loop. the boot strings are set by the utility "nextboot" (not yet checked in, but being tested.) By default these changes should have no effect on existing installations and if compiled without the NAMEBLOCK option should be essentially identical to the old ones.
* Add a check in the SMC probe to verify that the card has an ethernetmartin1996-06-091-0/+4
| | | | | | | address that starts with 0000C0xxxxxx. This prevents the probe code from finding GUS cards. Pointed out by: Seppo Kallio <kallio@kanto.cc.jyu.fi>
* Fixed BOOT_HD_BIAS.bde1996-05-112-11/+21
|
* First pass at cleaning up macros relating to pages, clusters and all that.phk1996-05-022-6/+6
|
* Fixed timeouts. I broke them in rev.1.17 for the FORCE_COMCONSOLE andbde1996-04-301-4/+21
| | | | (interactively set RB_SERIAL) && BOOTWAIT (serial i/o) cases.
* Now that I have started to use netboot, I see what is missing...phk1996-04-142-36/+56
| | | | Load symbols and set boot args more nicely.
* Document how to drop into DDB from a serial console.jkh1996-04-131-1/+10
|
* Allow specifying the BIOS drive number. Removed the hd drive type.bde1996-04-076-51/+83
| | | | | | | | | hd essentially wired the FreeBSD drive number to 0 without changing the BIOS drive number. Now the numbers can be specified independently. Replaced the BOOT_HD compile time flag with with BOOT_HD_BIAS. Defining the new flag as 1 should give the same behaviour as defining the old flag as anything. I haven't tested defining these flags.
* Improvementss to netbootphk1996-04-036-27/+78
| | | | | | | Initial but not yet functional PCI support. Reviewed by: phk Submitted by: Luigi Rizzo <luigi@labinfo.iet.unipi.it>
* Align help screen.phk1996-04-021-2/+17
| | | | add gateway command.
* Saved 14 bytes by avoiding gas braindamage and 8 bytes by betterbde1996-03-081-23/+22
| | | | instruction selection, for a total of 16 bytes after padding. Whee.
* Probe the keyboard if PROBE_KEYBOARD is defined instead of when `notyet'bde1996-03-084-13/+18
| | | | | | | | | | is defined and FORCE_COMCONSOLE isn't defined. Don't compile any keyboard probing code if PROBE_KEYBOARD isn't defined. Makefile: Removed -I paths. They weren't used, and the one to /sys hasn't worked since the source directory was moved down one level.
* Made the timeouts in gets() machine-independent. Use the BIOS tickbde1996-03-081-31/+35
| | | | | | | | | counter instead of the BIOS time call to save space. Reworked the anti-noise timeout to avoid duplicating code. The timeout in the outer loop is now restarted after every noise timeout, so it is now possible for the total timeout to be infinite; previously, the maximum total timeout was 150000 seconds.
* Load %fs with the flat data segment selector while in protected mode.bde1996-03-081-3/+7
| | | | This will be used for convenient access to the BIOS variables.
* Fixed restoring segment descriptors in prot_to_real(). The descriptorsbde1996-03-082-12/+13
| | | | | | | | | | | | | | | must have limit 0xffff and attribute G = 0 (byte granularity) as well as other properties that they already had (see e.g., the Intel i486 manual section 22.5). Not restoring them broke Ctrl-Alt-Del in the bootstrap for my ASUS P55TP4XE system, probably because the Award BIOS does anti-tracing stuff involving inaccessible %esp's. asm.S: Don't use lret in prot_to_real(). This reduces the risk of using an incompletely intialized stack segment and saves space. Submitted by: "K.Higashino" <a00303@cc.hc.keio.ac.jp> (on 13 Jan 1995!) reworked by me
* Create symlinks for vnboot and bootvn, too.joerg1996-02-031-2/+2
|
* Implement an optional TIMEOUT value while entering the boot parameterjoerg1996-01-212-4/+33
| | | | | string. This avoids indefinite hangs e.g. when used on a noisy serial console. It's not turned on by default.
* Document the ``BOOT_HD'' make option for the bootblocks.joerg1996-01-061-2/+7
|
* Remove -fno-strength-reduce, gcc bug recently fixedache1996-01-051-2/+2
|
* This commit was generated by cvs2svn to compensate for changes in r13122,peter1995-12-305-995/+0
| | | | which included commits to RCS files with non-trunk default branches.
* recording cvs-1.6 file deathpeter1995-12-3022-5470/+0
|
* Removed bogus padding that wasted 0x500 bytes.bde1995-11-182-14/+12
| | | | | Improved code and comments. Don't do anything except transfer control in the head.o module.
* Fixed scrolling. The bottom line wasn't cleared. This caused thebde1995-11-181-7/+4
| | | | | | | | boot to display "Booting the kernelel...done" instead of "Booting the kernel". Removed save and restore of BIOS memory. kzipped kernels haven't ever overlaid the BIOS memory.
* Close PR misc/75. I thought this was done long time ago...phk1995-11-061-0/+4
|
* Add -fno-strength-reduce to neutralize possible bad effect of -O2ache1995-10-102-3/+5
| | | | specified directly
* Part 2 of the overlapping kzip changes.peter1995-10-063-13/+31
| | | | Submitted by: Gary Jones(?) <gj@freefall>
OpenPOWER on IntegriCloud