#
1.68 |
|
04-Aug-2019 |
kettenis |
Cleanup the bios(4)/smbios(4) code a bit. Fix some KNF issues, reduce differences between the i386 and amd64 versions of the code and switch to using the standard C integer exact width integer types.
ok deraadt@
|
Revision tags: OPENBSD_6_4_BASE OPENBSD_6_5_BASE
|
#
1.67 |
|
23-Aug-2018 |
jsg |
port the amd64 code for loading intel microcode on boot to i386 ok deraadt@ mlarkin@
|
Revision tags: OPENBSD_6_2_BASE OPENBSD_6_3_BASE
|
#
1.66 |
|
20-Jun-2017 |
tom |
Fix a couple of comment typos in amd64 and i386 biosvar.h
|
#
1.65 |
|
19-Jun-2017 |
deraadt |
As early as possible, create a link /bsd.booted to the /bsd kernel we presume we booted from. If you boot from another kernel, we cannot help you later with hibernate, sorry -- The kernel does not get a useable filename from the bootblocks.
In the bootblocks, detect a live hibernate signature and boot from /bsd.booted instead.
with yasuoka, lots of discussion with mlarkin, ok tom
|
Revision tags: OPENBSD_5_9_BASE OPENBSD_6_0_BASE OPENBSD_6_1_BASE
|
#
1.64 |
|
03-Sep-2015 |
deraadt |
match amd64; bios_efi_info_t is required here as well, because acpidump compiles on more than one platform.
|
Revision tags: OPENBSD_5_8_BASE
|
#
1.63 |
|
17-Jul-2015 |
mlarkin |
Include executable mapping for BIOS32 pages. Fixes a problem where mappings done in this region using PAE w/NX caused #PFs (as they lacked the exec permission previously).
Also unmap the region when we're finished. No sense in leaving extra executable regions lying around.
Fixes non-ACPI uniprocessor i386 machines that have NX/PAE (these would previously panic in pcibiosattach).
ok deraadt@
|
#
1.62 |
|
12-Apr-2015 |
mlarkin |
Bring PAE code back to life, in a different form. This diff (via bluhm then to deraadt, then myself) brings the PAE pmap on i386 (not touched in any significant way for years) closer to the current non-PAE pmap and allows us to take a big next step toward better i386 W^X in the kernel (similar to what we did a few months ago on amd64). Unlike the original PAE pmap, this diff will not be supporting > 4GB physical memory on i386 - this effort is specifically geared toward providing W^X (via NX) only.
There still seems to be a bug removing certain pmap entries when PAE is enabled, so I'm leaving PAE mode disabled for the moment until we can figure out what is going on, but with this diff in the tree hopefully others can help.
The pmap functions now operate through function pointers, due to the need to support both non-PAE and PAE forms. My unscientific testing showed less than 0.3% (a third of a percent) slowdown with this approach during a base build.
Discussed for months with guenther, kettenis, and deraadt.
ok kettenis@, deraadt@
|
Revision tags: OPENBSD_5_5_BASE OPENBSD_5_6_BASE OPENBSD_5_7_BASE
|
#
1.61 |
|
02-Nov-2013 |
kettenis |
Cleanup bios_oconsdev_t. Make sure you have a halfway recent bootloader (at least BOOT 3.20 on amd64 and BOOT 3.18 on i386) or you'll risk losing your serial console.
ok deraadt@
|
Revision tags: OPENBSD_5_4_BASE
|
#
1.60 |
|
23-Mar-2013 |
deraadt |
refactor sys/param.h and machine/param.h. A lot of #ifdef _KERNEL is added to keep definitions our of user space. The MD files now follow a consistant order -- all namespace intrusion is at the tail can be cleaned up independently. locore, bootblocks, and libkvm still see enough visibility to build. Checked on 90% of platforms...
|
Revision tags: OPENBSD_5_3_BASE
|
#
1.59 |
|
09-Oct-2012 |
jsing |
Allow boot(8) to pass information to the kernel, regarding the softraid volume that it booted off.
|
Revision tags: OPENBSD_5_2_BASE
|
#
1.58 |
|
03-Jun-2012 |
kettenis |
Add support for serial consoles at non-standard addresses. This implements a new "machine comaddr" command that makes it possible to configure the io port used to access the serial port. This can be used to use serial ports on a puc(4) device as serial console.
|
Revision tags: OPENBSD_5_1_BASE
|
#
1.57 |
|
11-Jan-2012 |
jsing |
Pass the DUID of the boot disk via bootduid instead of rootduid, since it is the DUID that we booted from, which is not always going to be the same as the DUID that we mount root on.
|
Revision tags: OPENBSD_5_0_BASE
|
#
1.56 |
|
26-Apr-2011 |
jsing |
Make amd64/i386 boot(8) pass the DUID of the selected boot device to the kernel so that it can use it to identify the root disk. This will be needed in order to correctly boot from a softraid volume.
ok deraadt@ marco@ krw@
|
#
1.55 |
|
23-Mar-2011 |
pirofti |
Normalize sentinel. Use _MACHINE_*_H_ and _<ARCH>_*_H_ properly and consitently.
Discussed and okay drahn@. Okay deraadt@.
|
#
1.54 |
|
14-Mar-2011 |
krw |
Clamp BIOS io attempts to < 2 ^28 - 1 sectors (a.k.a. 128GB for 512-byte sectors) as some BIOSen get confused when we ask for sectors higher up.
Uss u_int throughout the boot code to calculate sector addresses, since 32 bits is enough to do 28 ^ 1 - 1 arithmetic. Add checks for wraparound.
I can now install and boot from the 7th extended partition below 128GB.
Much feedback & guidance from deraadt@. Also from weingart@ on BIOS io.
ok deraadt@ (less a couple of minor tweaks found in testing)
|
Revision tags: OPENBSD_4_9_BASE
|
#
1.53 |
|
22-Nov-2010 |
miod |
Remove unused (and dummied) bios console routines.
|
Revision tags: OPENBSD_4_6_BASE OPENBSD_4_7_BASE OPENBSD_4_8_BASE
|
#
1.52 |
|
30-Apr-2009 |
dlg |
add support for passing db_console from the bootloader to the kernel.
based on the same change in amd64.
|
Revision tags: OPENBSD_4_5_BASE
|
#
1.51 |
|
20-Jan-2009 |
mlarkin |
Install ACPI S3 resume trampoline code in a lowmem page. First part of ACPI S3 suspend/resume support. This is for i386.
Help/comments from art, toby, marco, jordan, kurt ok marco@, kurt@
|
#
1.50 |
|
01-Sep-2008 |
deraadt |
Avoid #pragma pack(1) and unify everything towards using __packed. This requires that structures defined within __packed structures must independently request that they themselves become __packed, too. worked on with toby CVS: ----------------------------------------------------------------------
|
Revision tags: OPENBSD_4_3_BASE OPENBSD_4_4_BASE
|
#
1.49 |
|
05-Dec-2007 |
deraadt |
Hang acpi(4) below bios(4) instead of mainbus(4). This lets us move acpi(4) before pcibios(4), and then.... if acpi(4) attaches, skip pcibios(4) since it messes the machines up. Fixes claudio's HP dl320 G5, and almost assuredly others. ok kettenis
|
Revision tags: OPENBSD_4_0_BASE OPENBSD_4_1_BASE OPENBSD_4_2_BASE
|
#
1.48 |
|
20-May-2006 |
deraadt |
add bios_bootmac_t and BOOTARG_BOOTMAC
|
#
1.47 |
|
09-May-2006 |
tom |
0x0006 is not a good value for a bit flag, so change it to 0x0008.
Spotted by kettenis@
ok mickey@
|
#
1.46 |
|
08-May-2006 |
gwk |
Add smbios support for i386 and amd64, fix ipmi to use this new functionallity, hook up some sysctls to add system vendor/product/version and UUID reporting.
"get it in" deraadt@
|
Revision tags: OPENBSD_3_9_BASE
|
#
1.45 |
|
22-Nov-2005 |
mickey |
bios gives 32bit units not paddr/psize; no func change
|
Revision tags: OPENBSD_3_6_BASE OPENBSD_3_7_BASE OPENBSD_3_8_BASE
|
#
1.44 |
|
23-Jun-2004 |
tom |
Enter cdboot, a CD-specific second-stage bootrap.
Testing krw@ and todd@, thanks.
assistance, testing and ok weingart@
|
#
1.43 |
|
13-Jun-2004 |
niklas |
debranch SMP, have fun
|
Revision tags: OPENBSD_3_5_BASE SMP_SYNC_A SMP_SYNC_B
|
#
1.42 |
|
27-Nov-2003 |
espie |
This var is volatile. gcc3 complains if the CV qualifiers don't match. ok toby, mickey
|
Revision tags: OPENBSD_3_4_BASE
|
#
1.41 |
|
03-Jun-2003 |
mickey |
three four kill
|
Revision tags: OPENBSD_3_1_BASE OPENBSD_3_2_BASE OPENBSD_3_3_BASE UBC_SYNC_A UBC_SYNC_B
|
#
1.40 |
|
14-Mar-2002 |
millert |
First round of __P removal in sys
|
#
1.39 |
|
21-Feb-2002 |
tdeval |
Typo. Ok mickey@
|
Revision tags: OPENBSD_2_9_BASE OPENBSD_3_0_BASE UBC_BASE
|
#
1.38 |
|
28-Feb-2001 |
mickey |
branches: 1.38.6; scan the isa hole for `optional rom's. found proms are excluded from the iomem_ex such that devices cannot map on the same memory. next step would be for pcic and similar devices to choose memory windows from unused spots in the iomem_ex. currently prom checksum test is not enforced due to broken stinkpad bioses, which do not pass the checksum test. testing from aaron@, fgsch@, fries@, millert@
|
Revision tags: OPENBSD_2_8_BASE
|
#
1.37 |
|
17-Aug-2000 |
mickey |
pcibios tells us everything, no bios_pciinfo
|
#
1.36 |
|
17-Aug-2000 |
mickey |
pcibios0 at bios0 flags 0x0000 this is now a real device, which looks in flags for disabling address, interrupt or bus fixup. bios0's flags are to disable bios32 and pcibios probing. since boot_config support editing flags, it's posible to adjust pcibios functionality in the generic kernel upon boot time. man is coming.
|
Revision tags: OPENBSD_2_7_BASE
|
#
1.35 |
|
26-Mar-2000 |
mickey |
from netbsd: pci interrupt routing code. also, change a few pcidevs names to match netbsd (and more descriptive). tested on a bunch of laptops, helps resolving 'pin X unmapped' problems for (usually) usb and cardbus cntrollers.
|
#
1.34 |
|
05-Mar-2000 |
mickey |
export bios_pciinfo for the whole _KERNEL, there will be more files to use it
|
#
1.33 |
|
18-Feb-2000 |
mickey |
full support for a serial console. iface addition: pass serial speed from /boot. tested on 4 /boot+kernel permutations. also, niklas@ said he likes it bugs: any printfs before cninit() will go to the default console, which is mon/kbd, but are usually only sorts of debugging messages (like bios_memmap load).
|
Revision tags: SMP_BASE
|
#
1.32 |
|
03-Feb-2000 |
mickey |
branches: 1.32.2; remove extraneous spaces and tabs
|
Revision tags: kame_19991208
|
#
1.31 |
|
26-Oct-1999 |
mickey |
modify bootapiver chekups to use bitwise operations. factor out /boot options parser from biosattach(). add logic to warn about ancient /boots. cleanup vanishing cruft. @niklas ok
|
Revision tags: OPENBSD_2_6_BASE
|
#
1.30 |
|
25-Aug-1999 |
mickey |
give better support to the bios memory maps. provide memory maps editing through the machine memory command. rearrange probing in machdep, so it provides less output, also giving a shot for apm to fix the memory maps. changes to kernel are minimal, only that is required due to the api version bits addition and such cosmetic changes. tested on all critical kernel,boot combinations; niklas@ ok
|
#
1.29 |
|
09-May-1999 |
mickey |
provide suport for an apm data segemnt in the lower memory bios data segment area, also calculate the apm segment lenghts. niklas@ - ok
|
Revision tags: OPENBSD_2_4_BASE OPENBSD_2_5_BASE
|
#
1.28 |
|
08-Jun-1998 |
mickey |
consdev to come
|
Revision tags: OPENBSD_2_3_BASE
|
#
1.27 |
|
24-Feb-1998 |
weingart |
First commit of /boot changes/fixes. More to come. Add BIOS PCI probe stuff.
|
#
1.26 |
|
09-Jan-1998 |
niklas |
Make booting new kernels with old bootblocks moer robust
|
Revision tags: OPENBSD_2_2_BASE
|
#
1.25 |
|
27-Oct-1997 |
niklas |
A flag added to diskinfo used by the kernel to mark devices already mapped to BSD dittos.
|
#
1.24 |
|
25-Oct-1997 |
mickey |
define fixed bootarg vector offset, and max len
|
#
1.23 |
|
24-Oct-1997 |
mickey |
map a piece of memory after the msgbuf and copy bootargv there. pass cksumlen argument, sysctl it mostly by niklas me just did slite editing.
|
#
1.22 |
|
24-Oct-1997 |
mickey |
fix the case when data/code segment is not in the ISA memory hole, so map 'em separatelly (or together if they intersect) and use that mapped region for segment creations... must help on some machines to avoid weird apm errors
|
#
1.21 |
|
22-Oct-1997 |
mickey |
support new libsa
|
#
1.20 |
|
20-Oct-1997 |
mickey |
get ready for the fix in memprobe
|
#
1.19 |
|
18-Oct-1997 |
weingart |
Copy in bios_diskinfo array from /boot space. Add length field for checksum to same. Start of making /boot deduce bsd dev_t for all BIOS drives.
|
#
1.18 |
|
17-Oct-1997 |
weingart |
Cleanup, make it all compile. Move APM stuff to apmprobe.c
|
#
1.17 |
|
17-Oct-1997 |
weingart |
Use BIOS to probe for memory map. Probe for BIOS supported disks. Use BIOS to get geometry for supported disks.
All in preparation to passing the whole thing to the kernel.
|
#
1.16 |
|
14-Oct-1997 |
weingart |
Support for bios memory maps.
|
#
1.15 |
|
12-Oct-1997 |
mickey |
reserve void* at the of BIOS_vars for future use
|
#
1.14 |
|
03-Oct-1997 |
deraadt |
make bios_geometry unsigned to avoid sign extension
|
#
1.13 |
|
29-Sep-1997 |
mickey |
apm0 at bios0 configs will be updated
|
#
1.12 |
|
21-Sep-1997 |
mickey |
branch the bios tree inside the machdep
|
#
1.11 |
|
17-Sep-1997 |
mickey |
pass cnvmem,extmem the old way they were.... don't put 'em in biosvars
|
#
1.10 |
|
04-Sep-1997 |
mickey |
support boot API version number
|
#
1.9 |
|
03-Sep-1997 |
weingart |
2nd part of pretty "machine diskinfo"
|
#
1.8 |
|
22-Aug-1997 |
mickey |
use words for apm functions define struct of bios/boot vars to be passed to kernel
|
#
1.7 |
|
12-Aug-1997 |
mickey |
call BIOS inline (add struct EDD_cb into biosvar.h)
|
#
1.6 |
|
07-Aug-1997 |
mickey |
right DOINT for C
|
#
1.5 |
|
05-Aug-1997 |
mickey |
kentry proto is in the libsa.h change var name
|
#
1.4 |
|
02-Aug-1997 |
mickey |
change vars names, add attach_args
|
#
1.3 |
|
28-Jul-1997 |
mickey |
adopt for assym.h
|
#
1.2 |
|
27-Jul-1997 |
mickey |
document bpb media types
|
#
1.1 |
|
17-Jul-1997 |
mickey |
add BIOS definitios/etc
|
#
1.67 |
|
23-Aug-2018 |
jsg |
port the amd64 code for loading intel microcode on boot to i386 ok deraadt@ mlarkin@
|
Revision tags: OPENBSD_6_2_BASE OPENBSD_6_3_BASE
|
#
1.66 |
|
20-Jun-2017 |
tom |
Fix a couple of comment typos in amd64 and i386 biosvar.h
|
#
1.65 |
|
19-Jun-2017 |
deraadt |
As early as possible, create a link /bsd.booted to the /bsd kernel we presume we booted from. If you boot from another kernel, we cannot help you later with hibernate, sorry -- The kernel does not get a useable filename from the bootblocks.
In the bootblocks, detect a live hibernate signature and boot from /bsd.booted instead.
with yasuoka, lots of discussion with mlarkin, ok tom
|
Revision tags: OPENBSD_5_9_BASE OPENBSD_6_0_BASE OPENBSD_6_1_BASE
|
#
1.64 |
|
03-Sep-2015 |
deraadt |
match amd64; bios_efi_info_t is required here as well, because acpidump compiles on more than one platform.
|
Revision tags: OPENBSD_5_8_BASE
|
#
1.63 |
|
17-Jul-2015 |
mlarkin |
Include executable mapping for BIOS32 pages. Fixes a problem where mappings done in this region using PAE w/NX caused #PFs (as they lacked the exec permission previously).
Also unmap the region when we're finished. No sense in leaving extra executable regions lying around.
Fixes non-ACPI uniprocessor i386 machines that have NX/PAE (these would previously panic in pcibiosattach).
ok deraadt@
|
#
1.62 |
|
12-Apr-2015 |
mlarkin |
Bring PAE code back to life, in a different form. This diff (via bluhm then to deraadt, then myself) brings the PAE pmap on i386 (not touched in any significant way for years) closer to the current non-PAE pmap and allows us to take a big next step toward better i386 W^X in the kernel (similar to what we did a few months ago on amd64). Unlike the original PAE pmap, this diff will not be supporting > 4GB physical memory on i386 - this effort is specifically geared toward providing W^X (via NX) only.
There still seems to be a bug removing certain pmap entries when PAE is enabled, so I'm leaving PAE mode disabled for the moment until we can figure out what is going on, but with this diff in the tree hopefully others can help.
The pmap functions now operate through function pointers, due to the need to support both non-PAE and PAE forms. My unscientific testing showed less than 0.3% (a third of a percent) slowdown with this approach during a base build.
Discussed for months with guenther, kettenis, and deraadt.
ok kettenis@, deraadt@
|
Revision tags: OPENBSD_5_5_BASE OPENBSD_5_6_BASE OPENBSD_5_7_BASE
|
#
1.61 |
|
02-Nov-2013 |
kettenis |
Cleanup bios_oconsdev_t. Make sure you have a halfway recent bootloader (at least BOOT 3.20 on amd64 and BOOT 3.18 on i386) or you'll risk losing your serial console.
ok deraadt@
|
Revision tags: OPENBSD_5_4_BASE
|
#
1.60 |
|
23-Mar-2013 |
deraadt |
refactor sys/param.h and machine/param.h. A lot of #ifdef _KERNEL is added to keep definitions our of user space. The MD files now follow a consistant order -- all namespace intrusion is at the tail can be cleaned up independently. locore, bootblocks, and libkvm still see enough visibility to build. Checked on 90% of platforms...
|
Revision tags: OPENBSD_5_3_BASE
|
#
1.59 |
|
09-Oct-2012 |
jsing |
Allow boot(8) to pass information to the kernel, regarding the softraid volume that it booted off.
|
Revision tags: OPENBSD_5_2_BASE
|
#
1.58 |
|
03-Jun-2012 |
kettenis |
Add support for serial consoles at non-standard addresses. This implements a new "machine comaddr" command that makes it possible to configure the io port used to access the serial port. This can be used to use serial ports on a puc(4) device as serial console.
|
Revision tags: OPENBSD_5_1_BASE
|
#
1.57 |
|
11-Jan-2012 |
jsing |
Pass the DUID of the boot disk via bootduid instead of rootduid, since it is the DUID that we booted from, which is not always going to be the same as the DUID that we mount root on.
|
Revision tags: OPENBSD_5_0_BASE
|
#
1.56 |
|
26-Apr-2011 |
jsing |
Make amd64/i386 boot(8) pass the DUID of the selected boot device to the kernel so that it can use it to identify the root disk. This will be needed in order to correctly boot from a softraid volume.
ok deraadt@ marco@ krw@
|
#
1.55 |
|
23-Mar-2011 |
pirofti |
Normalize sentinel. Use _MACHINE_*_H_ and _<ARCH>_*_H_ properly and consitently.
Discussed and okay drahn@. Okay deraadt@.
|
#
1.54 |
|
14-Mar-2011 |
krw |
Clamp BIOS io attempts to < 2 ^28 - 1 sectors (a.k.a. 128GB for 512-byte sectors) as some BIOSen get confused when we ask for sectors higher up.
Uss u_int throughout the boot code to calculate sector addresses, since 32 bits is enough to do 28 ^ 1 - 1 arithmetic. Add checks for wraparound.
I can now install and boot from the 7th extended partition below 128GB.
Much feedback & guidance from deraadt@. Also from weingart@ on BIOS io.
ok deraadt@ (less a couple of minor tweaks found in testing)
|
Revision tags: OPENBSD_4_9_BASE
|
#
1.53 |
|
22-Nov-2010 |
miod |
Remove unused (and dummied) bios console routines.
|
Revision tags: OPENBSD_4_6_BASE OPENBSD_4_7_BASE OPENBSD_4_8_BASE
|
#
1.52 |
|
30-Apr-2009 |
dlg |
add support for passing db_console from the bootloader to the kernel.
based on the same change in amd64.
|
Revision tags: OPENBSD_4_5_BASE
|
#
1.51 |
|
20-Jan-2009 |
mlarkin |
Install ACPI S3 resume trampoline code in a lowmem page. First part of ACPI S3 suspend/resume support. This is for i386.
Help/comments from art, toby, marco, jordan, kurt ok marco@, kurt@
|
#
1.50 |
|
01-Sep-2008 |
deraadt |
Avoid #pragma pack(1) and unify everything towards using __packed. This requires that structures defined within __packed structures must independently request that they themselves become __packed, too. worked on with toby CVS: ----------------------------------------------------------------------
|
Revision tags: OPENBSD_4_3_BASE OPENBSD_4_4_BASE
|
#
1.49 |
|
05-Dec-2007 |
deraadt |
Hang acpi(4) below bios(4) instead of mainbus(4). This lets us move acpi(4) before pcibios(4), and then.... if acpi(4) attaches, skip pcibios(4) since it messes the machines up. Fixes claudio's HP dl320 G5, and almost assuredly others. ok kettenis
|
Revision tags: OPENBSD_4_0_BASE OPENBSD_4_1_BASE OPENBSD_4_2_BASE
|
#
1.48 |
|
20-May-2006 |
deraadt |
add bios_bootmac_t and BOOTARG_BOOTMAC
|
#
1.47 |
|
09-May-2006 |
tom |
0x0006 is not a good value for a bit flag, so change it to 0x0008.
Spotted by kettenis@
ok mickey@
|
#
1.46 |
|
08-May-2006 |
gwk |
Add smbios support for i386 and amd64, fix ipmi to use this new functionallity, hook up some sysctls to add system vendor/product/version and UUID reporting.
"get it in" deraadt@
|
Revision tags: OPENBSD_3_9_BASE
|
#
1.45 |
|
22-Nov-2005 |
mickey |
bios gives 32bit units not paddr/psize; no func change
|
Revision tags: OPENBSD_3_6_BASE OPENBSD_3_7_BASE OPENBSD_3_8_BASE
|
#
1.44 |
|
23-Jun-2004 |
tom |
Enter cdboot, a CD-specific second-stage bootrap.
Testing krw@ and todd@, thanks.
assistance, testing and ok weingart@
|
#
1.43 |
|
13-Jun-2004 |
niklas |
debranch SMP, have fun
|
Revision tags: OPENBSD_3_5_BASE SMP_SYNC_A SMP_SYNC_B
|
#
1.42 |
|
27-Nov-2003 |
espie |
This var is volatile. gcc3 complains if the CV qualifiers don't match. ok toby, mickey
|
Revision tags: OPENBSD_3_4_BASE
|
#
1.41 |
|
03-Jun-2003 |
mickey |
three four kill
|
Revision tags: OPENBSD_3_1_BASE OPENBSD_3_2_BASE OPENBSD_3_3_BASE UBC_SYNC_A UBC_SYNC_B
|
#
1.40 |
|
14-Mar-2002 |
millert |
First round of __P removal in sys
|
#
1.39 |
|
21-Feb-2002 |
tdeval |
Typo. Ok mickey@
|
Revision tags: OPENBSD_2_9_BASE OPENBSD_3_0_BASE UBC_BASE
|
#
1.38 |
|
28-Feb-2001 |
mickey |
branches: 1.38.6; scan the isa hole for `optional rom's. found proms are excluded from the iomem_ex such that devices cannot map on the same memory. next step would be for pcic and similar devices to choose memory windows from unused spots in the iomem_ex. currently prom checksum test is not enforced due to broken stinkpad bioses, which do not pass the checksum test. testing from aaron@, fgsch@, fries@, millert@
|
Revision tags: OPENBSD_2_8_BASE
|
#
1.37 |
|
17-Aug-2000 |
mickey |
pcibios tells us everything, no bios_pciinfo
|
#
1.36 |
|
17-Aug-2000 |
mickey |
pcibios0 at bios0 flags 0x0000 this is now a real device, which looks in flags for disabling address, interrupt or bus fixup. bios0's flags are to disable bios32 and pcibios probing. since boot_config support editing flags, it's posible to adjust pcibios functionality in the generic kernel upon boot time. man is coming.
|
Revision tags: OPENBSD_2_7_BASE
|
#
1.35 |
|
26-Mar-2000 |
mickey |
from netbsd: pci interrupt routing code. also, change a few pcidevs names to match netbsd (and more descriptive). tested on a bunch of laptops, helps resolving 'pin X unmapped' problems for (usually) usb and cardbus cntrollers.
|
#
1.34 |
|
05-Mar-2000 |
mickey |
export bios_pciinfo for the whole _KERNEL, there will be more files to use it
|
#
1.33 |
|
18-Feb-2000 |
mickey |
full support for a serial console. iface addition: pass serial speed from /boot. tested on 4 /boot+kernel permutations. also, niklas@ said he likes it bugs: any printfs before cninit() will go to the default console, which is mon/kbd, but are usually only sorts of debugging messages (like bios_memmap load).
|
Revision tags: SMP_BASE
|
#
1.32 |
|
03-Feb-2000 |
mickey |
branches: 1.32.2; remove extraneous spaces and tabs
|
Revision tags: kame_19991208
|
#
1.31 |
|
26-Oct-1999 |
mickey |
modify bootapiver chekups to use bitwise operations. factor out /boot options parser from biosattach(). add logic to warn about ancient /boots. cleanup vanishing cruft. @niklas ok
|
Revision tags: OPENBSD_2_6_BASE
|
#
1.30 |
|
25-Aug-1999 |
mickey |
give better support to the bios memory maps. provide memory maps editing through the machine memory command. rearrange probing in machdep, so it provides less output, also giving a shot for apm to fix the memory maps. changes to kernel are minimal, only that is required due to the api version bits addition and such cosmetic changes. tested on all critical kernel,boot combinations; niklas@ ok
|
#
1.29 |
|
09-May-1999 |
mickey |
provide suport for an apm data segemnt in the lower memory bios data segment area, also calculate the apm segment lenghts. niklas@ - ok
|
Revision tags: OPENBSD_2_4_BASE OPENBSD_2_5_BASE
|
#
1.28 |
|
08-Jun-1998 |
mickey |
consdev to come
|
Revision tags: OPENBSD_2_3_BASE
|
#
1.27 |
|
24-Feb-1998 |
weingart |
First commit of /boot changes/fixes. More to come. Add BIOS PCI probe stuff.
|
#
1.26 |
|
09-Jan-1998 |
niklas |
Make booting new kernels with old bootblocks moer robust
|
Revision tags: OPENBSD_2_2_BASE
|
#
1.25 |
|
27-Oct-1997 |
niklas |
A flag added to diskinfo used by the kernel to mark devices already mapped to BSD dittos.
|
#
1.24 |
|
25-Oct-1997 |
mickey |
define fixed bootarg vector offset, and max len
|
#
1.23 |
|
24-Oct-1997 |
mickey |
map a piece of memory after the msgbuf and copy bootargv there. pass cksumlen argument, sysctl it mostly by niklas me just did slite editing.
|
#
1.22 |
|
24-Oct-1997 |
mickey |
fix the case when data/code segment is not in the ISA memory hole, so map 'em separatelly (or together if they intersect) and use that mapped region for segment creations... must help on some machines to avoid weird apm errors
|
#
1.21 |
|
22-Oct-1997 |
mickey |
support new libsa
|
#
1.20 |
|
20-Oct-1997 |
mickey |
get ready for the fix in memprobe
|
#
1.19 |
|
18-Oct-1997 |
weingart |
Copy in bios_diskinfo array from /boot space. Add length field for checksum to same. Start of making /boot deduce bsd dev_t for all BIOS drives.
|
#
1.18 |
|
17-Oct-1997 |
weingart |
Cleanup, make it all compile. Move APM stuff to apmprobe.c
|
#
1.17 |
|
17-Oct-1997 |
weingart |
Use BIOS to probe for memory map. Probe for BIOS supported disks. Use BIOS to get geometry for supported disks.
All in preparation to passing the whole thing to the kernel.
|
#
1.16 |
|
14-Oct-1997 |
weingart |
Support for bios memory maps.
|
#
1.15 |
|
12-Oct-1997 |
mickey |
reserve void* at the of BIOS_vars for future use
|
#
1.14 |
|
03-Oct-1997 |
deraadt |
make bios_geometry unsigned to avoid sign extension
|
#
1.13 |
|
29-Sep-1997 |
mickey |
apm0 at bios0 configs will be updated
|
#
1.12 |
|
21-Sep-1997 |
mickey |
branch the bios tree inside the machdep
|
#
1.11 |
|
17-Sep-1997 |
mickey |
pass cnvmem,extmem the old way they were.... don't put 'em in biosvars
|
#
1.10 |
|
04-Sep-1997 |
mickey |
support boot API version number
|
#
1.9 |
|
03-Sep-1997 |
weingart |
2nd part of pretty "machine diskinfo"
|
#
1.8 |
|
22-Aug-1997 |
mickey |
use words for apm functions define struct of bios/boot vars to be passed to kernel
|
#
1.7 |
|
12-Aug-1997 |
mickey |
call BIOS inline (add struct EDD_cb into biosvar.h)
|
#
1.6 |
|
07-Aug-1997 |
mickey |
right DOINT for C
|
#
1.5 |
|
05-Aug-1997 |
mickey |
kentry proto is in the libsa.h change var name
|
#
1.4 |
|
02-Aug-1997 |
mickey |
change vars names, add attach_args
|
#
1.3 |
|
28-Jul-1997 |
mickey |
adopt for assym.h
|
#
1.2 |
|
27-Jul-1997 |
mickey |
document bpb media types
|
#
1.1 |
|
17-Jul-1997 |
mickey |
add BIOS definitios/etc
|
Revision tags: OPENBSD_6_2_BASE
|
#
1.66 |
|
20-Jun-2017 |
tom |
Fix a couple of comment typos in amd64 and i386 biosvar.h
|
#
1.65 |
|
19-Jun-2017 |
deraadt |
As early as possible, create a link /bsd.booted to the /bsd kernel we presume we booted from. If you boot from another kernel, we cannot help you later with hibernate, sorry -- The kernel does not get a useable filename from the bootblocks.
In the bootblocks, detect a live hibernate signature and boot from /bsd.booted instead.
with yasuoka, lots of discussion with mlarkin, ok tom
|
Revision tags: OPENBSD_5_9_BASE OPENBSD_6_0_BASE OPENBSD_6_1_BASE
|
#
1.64 |
|
03-Sep-2015 |
deraadt |
match amd64; bios_efi_info_t is required here as well, because acpidump compiles on more than one platform.
|
Revision tags: OPENBSD_5_8_BASE
|
#
1.63 |
|
17-Jul-2015 |
mlarkin |
Include executable mapping for BIOS32 pages. Fixes a problem where mappings done in this region using PAE w/NX caused #PFs (as they lacked the exec permission previously).
Also unmap the region when we're finished. No sense in leaving extra executable regions lying around.
Fixes non-ACPI uniprocessor i386 machines that have NX/PAE (these would previously panic in pcibiosattach).
ok deraadt@
|
#
1.62 |
|
12-Apr-2015 |
mlarkin |
Bring PAE code back to life, in a different form. This diff (via bluhm then to deraadt, then myself) brings the PAE pmap on i386 (not touched in any significant way for years) closer to the current non-PAE pmap and allows us to take a big next step toward better i386 W^X in the kernel (similar to what we did a few months ago on amd64). Unlike the original PAE pmap, this diff will not be supporting > 4GB physical memory on i386 - this effort is specifically geared toward providing W^X (via NX) only.
There still seems to be a bug removing certain pmap entries when PAE is enabled, so I'm leaving PAE mode disabled for the moment until we can figure out what is going on, but with this diff in the tree hopefully others can help.
The pmap functions now operate through function pointers, due to the need to support both non-PAE and PAE forms. My unscientific testing showed less than 0.3% (a third of a percent) slowdown with this approach during a base build.
Discussed for months with guenther, kettenis, and deraadt.
ok kettenis@, deraadt@
|
Revision tags: OPENBSD_5_5_BASE OPENBSD_5_6_BASE OPENBSD_5_7_BASE
|
#
1.61 |
|
02-Nov-2013 |
kettenis |
Cleanup bios_oconsdev_t. Make sure you have a halfway recent bootloader (at least BOOT 3.20 on amd64 and BOOT 3.18 on i386) or you'll risk losing your serial console.
ok deraadt@
|
Revision tags: OPENBSD_5_4_BASE
|
#
1.60 |
|
23-Mar-2013 |
deraadt |
refactor sys/param.h and machine/param.h. A lot of #ifdef _KERNEL is added to keep definitions our of user space. The MD files now follow a consistant order -- all namespace intrusion is at the tail can be cleaned up independently. locore, bootblocks, and libkvm still see enough visibility to build. Checked on 90% of platforms...
|
Revision tags: OPENBSD_5_3_BASE
|
#
1.59 |
|
09-Oct-2012 |
jsing |
Allow boot(8) to pass information to the kernel, regarding the softraid volume that it booted off.
|
Revision tags: OPENBSD_5_2_BASE
|
#
1.58 |
|
03-Jun-2012 |
kettenis |
Add support for serial consoles at non-standard addresses. This implements a new "machine comaddr" command that makes it possible to configure the io port used to access the serial port. This can be used to use serial ports on a puc(4) device as serial console.
|
Revision tags: OPENBSD_5_1_BASE
|
#
1.57 |
|
11-Jan-2012 |
jsing |
Pass the DUID of the boot disk via bootduid instead of rootduid, since it is the DUID that we booted from, which is not always going to be the same as the DUID that we mount root on.
|
Revision tags: OPENBSD_5_0_BASE
|
#
1.56 |
|
26-Apr-2011 |
jsing |
Make amd64/i386 boot(8) pass the DUID of the selected boot device to the kernel so that it can use it to identify the root disk. This will be needed in order to correctly boot from a softraid volume.
ok deraadt@ marco@ krw@
|
#
1.55 |
|
23-Mar-2011 |
pirofti |
Normalize sentinel. Use _MACHINE_*_H_ and _<ARCH>_*_H_ properly and consitently.
Discussed and okay drahn@. Okay deraadt@.
|
#
1.54 |
|
14-Mar-2011 |
krw |
Clamp BIOS io attempts to < 2 ^28 - 1 sectors (a.k.a. 128GB for 512-byte sectors) as some BIOSen get confused when we ask for sectors higher up.
Uss u_int throughout the boot code to calculate sector addresses, since 32 bits is enough to do 28 ^ 1 - 1 arithmetic. Add checks for wraparound.
I can now install and boot from the 7th extended partition below 128GB.
Much feedback & guidance from deraadt@. Also from weingart@ on BIOS io.
ok deraadt@ (less a couple of minor tweaks found in testing)
|
Revision tags: OPENBSD_4_9_BASE
|
#
1.53 |
|
22-Nov-2010 |
miod |
Remove unused (and dummied) bios console routines.
|
Revision tags: OPENBSD_4_6_BASE OPENBSD_4_7_BASE OPENBSD_4_8_BASE
|
#
1.52 |
|
30-Apr-2009 |
dlg |
add support for passing db_console from the bootloader to the kernel.
based on the same change in amd64.
|
Revision tags: OPENBSD_4_5_BASE
|
#
1.51 |
|
20-Jan-2009 |
mlarkin |
Install ACPI S3 resume trampoline code in a lowmem page. First part of ACPI S3 suspend/resume support. This is for i386.
Help/comments from art, toby, marco, jordan, kurt ok marco@, kurt@
|
#
1.50 |
|
01-Sep-2008 |
deraadt |
Avoid #pragma pack(1) and unify everything towards using __packed. This requires that structures defined within __packed structures must independently request that they themselves become __packed, too. worked on with toby CVS: ----------------------------------------------------------------------
|
Revision tags: OPENBSD_4_3_BASE OPENBSD_4_4_BASE
|
#
1.49 |
|
05-Dec-2007 |
deraadt |
Hang acpi(4) below bios(4) instead of mainbus(4). This lets us move acpi(4) before pcibios(4), and then.... if acpi(4) attaches, skip pcibios(4) since it messes the machines up. Fixes claudio's HP dl320 G5, and almost assuredly others. ok kettenis
|
Revision tags: OPENBSD_4_0_BASE OPENBSD_4_1_BASE OPENBSD_4_2_BASE
|
#
1.48 |
|
20-May-2006 |
deraadt |
add bios_bootmac_t and BOOTARG_BOOTMAC
|
#
1.47 |
|
09-May-2006 |
tom |
0x0006 is not a good value for a bit flag, so change it to 0x0008.
Spotted by kettenis@
ok mickey@
|
#
1.46 |
|
08-May-2006 |
gwk |
Add smbios support for i386 and amd64, fix ipmi to use this new functionallity, hook up some sysctls to add system vendor/product/version and UUID reporting.
"get it in" deraadt@
|
Revision tags: OPENBSD_3_9_BASE
|
#
1.45 |
|
22-Nov-2005 |
mickey |
bios gives 32bit units not paddr/psize; no func change
|
Revision tags: OPENBSD_3_6_BASE OPENBSD_3_7_BASE OPENBSD_3_8_BASE
|
#
1.44 |
|
23-Jun-2004 |
tom |
Enter cdboot, a CD-specific second-stage bootrap.
Testing krw@ and todd@, thanks.
assistance, testing and ok weingart@
|
#
1.43 |
|
13-Jun-2004 |
niklas |
debranch SMP, have fun
|
Revision tags: OPENBSD_3_5_BASE SMP_SYNC_A SMP_SYNC_B
|
#
1.42 |
|
27-Nov-2003 |
espie |
This var is volatile. gcc3 complains if the CV qualifiers don't match. ok toby, mickey
|
Revision tags: OPENBSD_3_4_BASE
|
#
1.41 |
|
03-Jun-2003 |
mickey |
three four kill
|
Revision tags: OPENBSD_3_1_BASE OPENBSD_3_2_BASE OPENBSD_3_3_BASE UBC_SYNC_A UBC_SYNC_B
|
#
1.40 |
|
14-Mar-2002 |
millert |
First round of __P removal in sys
|
#
1.39 |
|
21-Feb-2002 |
tdeval |
Typo. Ok mickey@
|
Revision tags: OPENBSD_2_9_BASE OPENBSD_3_0_BASE UBC_BASE
|
#
1.38 |
|
28-Feb-2001 |
mickey |
branches: 1.38.6; scan the isa hole for `optional rom's. found proms are excluded from the iomem_ex such that devices cannot map on the same memory. next step would be for pcic and similar devices to choose memory windows from unused spots in the iomem_ex. currently prom checksum test is not enforced due to broken stinkpad bioses, which do not pass the checksum test. testing from aaron@, fgsch@, fries@, millert@
|
Revision tags: OPENBSD_2_8_BASE
|
#
1.37 |
|
17-Aug-2000 |
mickey |
pcibios tells us everything, no bios_pciinfo
|
#
1.36 |
|
17-Aug-2000 |
mickey |
pcibios0 at bios0 flags 0x0000 this is now a real device, which looks in flags for disabling address, interrupt or bus fixup. bios0's flags are to disable bios32 and pcibios probing. since boot_config support editing flags, it's posible to adjust pcibios functionality in the generic kernel upon boot time. man is coming.
|
Revision tags: OPENBSD_2_7_BASE
|
#
1.35 |
|
26-Mar-2000 |
mickey |
from netbsd: pci interrupt routing code. also, change a few pcidevs names to match netbsd (and more descriptive). tested on a bunch of laptops, helps resolving 'pin X unmapped' problems for (usually) usb and cardbus cntrollers.
|
#
1.34 |
|
05-Mar-2000 |
mickey |
export bios_pciinfo for the whole _KERNEL, there will be more files to use it
|
#
1.33 |
|
18-Feb-2000 |
mickey |
full support for a serial console. iface addition: pass serial speed from /boot. tested on 4 /boot+kernel permutations. also, niklas@ said he likes it bugs: any printfs before cninit() will go to the default console, which is mon/kbd, but are usually only sorts of debugging messages (like bios_memmap load).
|
Revision tags: SMP_BASE
|
#
1.32 |
|
03-Feb-2000 |
mickey |
branches: 1.32.2; remove extraneous spaces and tabs
|
Revision tags: kame_19991208
|
#
1.31 |
|
26-Oct-1999 |
mickey |
modify bootapiver chekups to use bitwise operations. factor out /boot options parser from biosattach(). add logic to warn about ancient /boots. cleanup vanishing cruft. @niklas ok
|
Revision tags: OPENBSD_2_6_BASE
|
#
1.30 |
|
25-Aug-1999 |
mickey |
give better support to the bios memory maps. provide memory maps editing through the machine memory command. rearrange probing in machdep, so it provides less output, also giving a shot for apm to fix the memory maps. changes to kernel are minimal, only that is required due to the api version bits addition and such cosmetic changes. tested on all critical kernel,boot combinations; niklas@ ok
|
#
1.29 |
|
09-May-1999 |
mickey |
provide suport for an apm data segemnt in the lower memory bios data segment area, also calculate the apm segment lenghts. niklas@ - ok
|
Revision tags: OPENBSD_2_4_BASE OPENBSD_2_5_BASE
|
#
1.28 |
|
08-Jun-1998 |
mickey |
consdev to come
|
Revision tags: OPENBSD_2_3_BASE
|
#
1.27 |
|
24-Feb-1998 |
weingart |
First commit of /boot changes/fixes. More to come. Add BIOS PCI probe stuff.
|
#
1.26 |
|
09-Jan-1998 |
niklas |
Make booting new kernels with old bootblocks moer robust
|
Revision tags: OPENBSD_2_2_BASE
|
#
1.25 |
|
27-Oct-1997 |
niklas |
A flag added to diskinfo used by the kernel to mark devices already mapped to BSD dittos.
|
#
1.24 |
|
25-Oct-1997 |
mickey |
define fixed bootarg vector offset, and max len
|
#
1.23 |
|
24-Oct-1997 |
mickey |
map a piece of memory after the msgbuf and copy bootargv there. pass cksumlen argument, sysctl it mostly by niklas me just did slite editing.
|
#
1.22 |
|
24-Oct-1997 |
mickey |
fix the case when data/code segment is not in the ISA memory hole, so map 'em separatelly (or together if they intersect) and use that mapped region for segment creations... must help on some machines to avoid weird apm errors
|
#
1.21 |
|
22-Oct-1997 |
mickey |
support new libsa
|
#
1.20 |
|
20-Oct-1997 |
mickey |
get ready for the fix in memprobe
|
#
1.19 |
|
18-Oct-1997 |
weingart |
Copy in bios_diskinfo array from /boot space. Add length field for checksum to same. Start of making /boot deduce bsd dev_t for all BIOS drives.
|
#
1.18 |
|
17-Oct-1997 |
weingart |
Cleanup, make it all compile. Move APM stuff to apmprobe.c
|
#
1.17 |
|
17-Oct-1997 |
weingart |
Use BIOS to probe for memory map. Probe for BIOS supported disks. Use BIOS to get geometry for supported disks.
All in preparation to passing the whole thing to the kernel.
|
#
1.16 |
|
14-Oct-1997 |
weingart |
Support for bios memory maps.
|
#
1.15 |
|
12-Oct-1997 |
mickey |
reserve void* at the of BIOS_vars for future use
|
#
1.14 |
|
03-Oct-1997 |
deraadt |
make bios_geometry unsigned to avoid sign extension
|
#
1.13 |
|
29-Sep-1997 |
mickey |
apm0 at bios0 configs will be updated
|
#
1.12 |
|
21-Sep-1997 |
mickey |
branch the bios tree inside the machdep
|
#
1.11 |
|
17-Sep-1997 |
mickey |
pass cnvmem,extmem the old way they were.... don't put 'em in biosvars
|
#
1.10 |
|
04-Sep-1997 |
mickey |
support boot API version number
|
#
1.9 |
|
03-Sep-1997 |
weingart |
2nd part of pretty "machine diskinfo"
|
#
1.8 |
|
22-Aug-1997 |
mickey |
use words for apm functions define struct of bios/boot vars to be passed to kernel
|
#
1.7 |
|
12-Aug-1997 |
mickey |
call BIOS inline (add struct EDD_cb into biosvar.h)
|
#
1.6 |
|
07-Aug-1997 |
mickey |
right DOINT for C
|
#
1.5 |
|
05-Aug-1997 |
mickey |
kentry proto is in the libsa.h change var name
|
#
1.4 |
|
02-Aug-1997 |
mickey |
change vars names, add attach_args
|
#
1.3 |
|
28-Jul-1997 |
mickey |
adopt for assym.h
|
#
1.2 |
|
27-Jul-1997 |
mickey |
document bpb media types
|
#
1.1 |
|
17-Jul-1997 |
mickey |
add BIOS definitios/etc
|