summaryrefslogtreecommitdiffstats
path: root/sys/i386/boot/biosboot/asm.S
Commit message (Collapse)AuthorAgeFilesLines
* Make the long-awaited change from $Id$ to $FreeBSD$jkh1997-01-141-1/+1
| | | | | | | | This will make a number of things easier in the future, as well as (finally!) avoiding the Id-smashing problem which has plagued developers for so long. Boy, I'm glad we're not using sup anymore. This update would have been insane otherwise.
* 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.
* 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-081-10/+11
| | | | | | | | | | | | | | | 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
* Load the kernel symbol table in the boot loader and not at compile time.bde1995-01-251-4/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (Boot with the -D flag if you want symbols.) Make it easier to extend `struct bootinfo' without losing either forwards or backwards compatibility. ddb_aout.c: Get the symbol table from wherever the loader put it. Nuke db_symtab[SYMTAB_SPACE]. boot.c: Enable loading of symbols. Align them on a page boundary. Add printfs about the symbol table sizes. Pass the memory sizes to the kernel. Fix initialization of `unit' (it got moved out of the loop). Fix adding the bss size (it got moved inside an ifdef). Initialize serial port when RB_SERIAL is toggled on. Fix comments. Clean up formatting of recently added code. io.c: Clean up formatting of recently added code. netboot/main.c, machdep.c, wd.c: Change names of bootinfo fields. LINT: Nuke SYMTAB_SPACE. Fix comment about DODUMP. Makefile.i386: Nuke use of dbsym. Exclude gcc symbols from kernel unless compiling with -g. Remove unused macro. Fix comments and formatting. genassym.c: Generate defines for some new bootinfo fields. Change names of old ones. locore.s: Copy only the valid part of the `struct bootinfo' passed by the loader. Reserve space for symbol table, if any. machdep.c: Check the memory sizes passed by the loader, if any. Don't use them yet. bootinfo.h: Add a size field so that we can resolve some mismatches between the loader bootinfo and the kernel boot info. The version number is not so good for this because of historical botches and because it's harder to maintain. Add memory size and symbol table fields. Change the names of everything. Hacks to save a few bytes: asm.S, boot.c, boot2.S: Replace `ouraddr' by `(BOOTSEG << 4)'. boot.c: Don't statically initialize `loadflags' to 0. Disable the "REDUNDANT" code that skips the BIOS variables. Eliminate `total'. Combine some more printfs. boot.h, disk.c, io.c, table.c: Move all statically initialzed data to table.c. io.c: Don't put the A20 gate bits in a variable.
* 1. BOOTSEG and BOOTSTACK are now set from the Makefile, the boot code hasrgrimes1994-10-061-16/+24
| | | | | | | | | | | | | | | | | | | | | been relocated to run in the 64k segment at 0x10000 with the stack at the top of this segment. This corrects the problems machines with 512K base memory had booting. 2. startprog routing rewritten to convert the BOOTSEG ss to a KERNELSEG ss, this eliminated the last of the >512K memory references. Additional cleanup in here included a better way to copy the arguments to the kernel stack. 3. Elimination of argv and esym cruft saved a few bytes. 4. Only need to truncate the head.a_entry to a meg boundary once intead of every time we used it! [Saving more bytes]. 5. Addition of version 1 bootinfo structure support. These boot blocks pass the kernel name in to the kernel now. 6. Removed historical comments about MACH argv stuff, as it is useless now.
* 1. Completely rewritten Makefile that uses bsd.prog.mk more effectively.rgrimes1994-10-021-64/+68
| | | | | | | | 2. Clean up the .S files to use /* */ style comments. This is a totally cosmetic change, not one byte of the resulting boot code changes. But at least it is installed with correct owners and in the right places, and gets recompiled correctly when things change!
* Conditionalize support for my debugger. This normally saves 304 bytes.bde1994-08-301-1/+5
|
* Removed all patch kit headers, sccsid and rcsid strings, put $Id$ in, somergrimes1993-10-161-35/+3
| | | | minor cleanup. Added $Id$ to files that did not have any version info, etc
* New boot blocks, from Bruce Evans, and NetBSD fixes. Allows kernel toroot1993-07-131-0/+292
be loaded above 1MB. Same boot code for floppies now. Speed improvements. etc etc etc. (I don't have much history on this, but then have been tested)
OpenPOWER on IntegriCloud