#
331722 |
|
29-Mar-2018 |
eadler |
Revert r330897:
This was intended to be a non-functional change. It wasn't. The commit message was thus wrong. In addition it broke arm, and merged crypto related code.
Revert with prejudice.
This revert skips files touched in r316370 since that commit was since MFCed. This revert also skips files that require $FreeBSD$ property changes.
Thank you to those who helped me get out of this mess including but not limited to gonzo, kevans, rgrimes.
Requested by: gjb (re)
|
#
330897 |
|
14-Mar-2018 |
eadler |
Partial merge of the SPDX changes
These changes are incomplete but are making it difficult to determine what other changes can/should be merged.
No objections from: pfg
|
#
302408 |
|
07-Jul-2016 |
gjb |
Copy head@r302406 to stable/11 as part of the 11.0-RELEASE cycle. Prune svn:mergeinfo from the new branch, as nothing has been merged here.
Additional commits post-branch will follow.
Approved by: re (implicit) Sponsored by: The FreeBSD Foundation |
#
148231 |
|
21-Jul-2005 |
phk |
Make the facility for recognizing BIOS-signatures more general and return a printable representation.
This fixes recognition of the PC Engines WRAP and improves the recognition of the Soekris boards (Bios version can now be seen in the dmesg output for instance).
Also, add watchdog support for PCM-582x platforms.
Submitted by: Adrian Steinmann <ast@marabu.ch> Slightly changed by: phk PR: 81360
|
#
135690 |
|
23-Sep-2004 |
peter |
Converge towards i386. I originally resisted creating <machine/pc/bios.h> because it was mostly irrelevant - except for the silly BIOS_PADDRTOVADDR etc macros. Along the way of working around this, I missed a few things.
* Make syscons properly inherit the bios capslock/shiftlock/etc state like i386 does. Note that we cannot inherit the bios key repeat rate because that requires a bios call (which is impossible for us). * Give syscons the ability to beep on amd64. Oops.
While here, make bios.c compile and add it to files.amd64.
|
#
135689 |
|
23-Sep-2004 |
peter |
Severely strip down the repocopied i386/bios.c and bios.h files. It turns out that bios_sigsearch() etc is useful for finding tables in roms.
|
#
130983 |
|
23-Jun-2004 |
jhb |
Fetch the actual acpi0 device_t and use device_is_attached() to see if it's alive rather than trying to fetch its softc pointer via its devclass.
Glanced at by: imp, njl
|
#
130641 |
|
17-Jun-2004 |
njl |
Revert last change. If acpi is loaded or compiled into the kernel, its devclass will be present even if the driver was disabled by a hint. Using device_get_softc() provides the right info even if it's overkill.
Explained by: jhb
|
#
130510 |
|
15-Jun-2004 |
njl |
We only need the devclass_find() result, not the softc.
|
#
130313 |
|
10-Jun-2004 |
jhb |
- Use the correct devclass name ("acpi" vs "ACPI") to detect if acpi0 is present and thus that the PnPBIOS probe should be skipped instead of having ACPI zero out the PnPBIOStable pointer. - Make the PnPBIOStable pointer static to i386/i386/bios.c now that that is the only place it is used.
|
#
130040 |
|
03-Jun-2004 |
phk |
Add new bios_string() which will hunt for a string inside a given range of the BIOS. This can be used for finding arbitrary magic in the BIOS in order to recognize particular platforms.
|
#
129876 |
|
30-May-2004 |
phk |
Add some missing <sys/module.h> includes which are masked by the one on death-row in <sys/kernel.h>
|
#
121995 |
|
03-Nov-2003 |
jhb |
Don't probe PnP BIOS devices for PICs for now to avoid problems with those devices claiming resources that they don't actually use. The PIC drivers only register valid interrupt sources, so we don't need to rely on these drivers to claim invalid IRQs to prevent their use by other drivers.
|
#
120654 |
|
01-Oct-2003 |
peter |
Commit Bosko's patch to clean up the PSE/PG_G initialization to and avoid problems with some Pentium 4 cpus and some older PPro/Pentium2 cpus. There are several problems, some documented in Intel errata. This patch: 1) moves the kernel to the second page in the PSE case. There is an errata that says that you Must Not point a 4MB page at physical address zero on older cpus. We avoided bugs here due to sheer luck. 2) sets up PSE page tables right from the start in locore, rather than trying to switch from 4K to 4M (or 2M) pages part way through the boot sequence at the same time that we're messing with PG_G.
For some reason, the pmap work over the last 18 months seems to tickle the problems, and the PAE infrastructure changes disturb the cpu bugs even more.
A couple of people have reported a problem with APM bios calls during boot. I'll work with people to get this resolved.
Obtained from: bmilekic
|
#
119452 |
|
25-Aug-2003 |
obrien |
Fix copyright comment & FBSDID style nits.
Requested by: bde
|
#
115683 |
|
02-Jun-2003 |
obrien |
Use __FBSDID().
|
#
115546 |
|
31-May-2003 |
phk |
Avoid unbalancing the { } count in the source file with #ifdef by putting the opening { after the #ifdef ... #endif sequence.
Found by: FlexeLint
|
#
112841 |
|
30-Mar-2003 |
jake |
- Add support for PAE and more than 4 gigs of ram on x86, dependent on the kernel opition 'options PAE'. This will only work with device drivers which either use busdma, or are able to handle 64 bit physical addresses.
Thanks to Lanny Baron from FreeBSD Systems for the loan of a test machine with 6 gigs of ram.
Sponsored by: DARPA, Network Associates Laboratories, FreeBSD Systems
|
#
111119 |
|
19-Feb-2003 |
imp |
Back out M_* changes, per decision of the TRB.
Approved by: trb
|
#
109623 |
|
21-Jan-2003 |
alfred |
Remove M_TRYWAIT/M_WAITOK/M_WAIT. Callers should use 0. Merge M_NOWAIT/M_DONTWAIT into a single flag M_NOWAIT.
|
#
103870 |
|
23-Sep-2002 |
alfred |
use __packed.
|
#
102974 |
|
05-Sep-2002 |
jhb |
Move some variables to the BSS instead of explicitly zero'ing them. This also makes all of the PCIbios variable be zero'd, not just the entry field.
|
#
99862 |
|
12-Jul-2002 |
peter |
Revive backed out pmap related changes from Feb 2002. The highlights are: - It actually works this time, honest! - Fine grained TLB shootdowns for SMP on i386. IPI's are very expensive, so try and optimize things where possible. - Introduce ranged shootdowns that can be done as a single IPI. - PG_G support for i386 - Specific-cpu targeted shootdowns. For example, there is no sense in globally purging the TLB cache for where we are stealing a page from the local unshared process on the local cpu. Use pm_active to track this. - Add some instrumentation for the tlb shootdown code. - Rip out SMP code from <machine/cpufunc.h> - Try and fix some very bogus PG_G and PG_PS interactions that were bad enough to cause vm86 bios calls to break. vm86 depended on our existing bugs and this was the cause of the VESA panics last time. - Fix the silly one-line error that caused the 'panic: bad pte' last time. - Fix a couple of other silly one-line errors that should have caused more pain than they did.
Some more work is needed: - pmap_{zero,copy}_page[_idle]. These can be done without IPI's if we have a hook in cpu_switch. - The IPI handlers need some cleanup. I have a bogus %ds load that can be avoided. - APTD handling is rather bogus and appears to be a large source of global TLB IPI shootdowns for no really good reason.
I see speedups of between 1.5% and ~4% on buildworlds in a while 1 loop. I expect to see a bigger difference when there is significant pageout activity or the system otherwise has memory shortages.
I have backed out a few optimizations that I had been using over the last few days in order to be a little more conservative. I'll revisit these again over the next few days as the dust settles.
New option: DISABLE_PG_G - In case I missed something.
|
#
96527 |
|
13-May-2002 |
bde |
Fixed a semantic error. va_arg(ap, u_short) is nonsense except on i386's with 16-bit ints, since u_short is promoted when it is passed to a varargs function. gcc now warns about this. We always pass small integers (this is well obuscated), so there are no conversion problems.
Fixed a related style bug (bogus cast).
|
#
94936 |
|
17-Apr-2002 |
mux |
Rework the kernel environment subsystem. We now convert the static environment needed at boot time to a dynamic subsystem when VM is up. The dynamic kernel environment is protected by an sx lock.
This adds some new functions to manipulate the kernel environment : freeenv(), setenv(), unsetenv() and testenv(). freeenv() has to be called after every getenv() when you have finished using the string. testenv() only tests if an environment variable is present, and doesn't require a freeenv() call. setenv() and unsetenv() are self explanatory.
The kenv(2) syscall exports these new functionalities to userland, mainly for kenv(1).
Reviewed by: peter
|
#
93334 |
|
28-Mar-2002 |
nyan |
Remove unneeded pc98 hack.
|
#
93005 |
|
23-Mar-2002 |
takawata |
Add bios area range check (lower side).
|
#
91368 |
|
27-Feb-2002 |
peter |
Re-fix a pointer/integer warning.
|
#
91367 |
|
27-Feb-2002 |
peter |
Back out all the pmap related stuff I've touched over the last few days. There is some unresolved badness that has been eluding me, particularly affecting uniprocessor kernels. Turning off PG_G helped (which is a bad sign) but didn't solve it entirely. Userland programs still crashed.
|
#
91250 |
|
25-Feb-2002 |
peter |
Tidy up some warnings
|
#
89980 |
|
30-Jan-2002 |
bde |
Don't include <isa/isavar.h> or compile code depending on it when isa is not configured. Including <isa/isavar.h> when it is not used is harmful as well as bogus, since it includes "isa_if.h" which is not generated when isa is not configured.
This was fixed in 1999 but was broken by unconditionalizing PNPBIOS.
|
#
87702 |
|
11-Dec-2001 |
jhb |
Overhaul the per-CPU support a bit:
- The MI portions of struct globaldata have been consolidated into a MI struct pcpu. The MD per-CPU data are specified via a macro defined in machine/pcpu.h. A macro was chosen over a struct mdpcpu so that the interface would be cleaner (PCPU_GET(my_md_field) vs. PCPU_GET(md.md_my_md_field)). - All references to globaldata are changed to pcpu instead. In a UP kernel, this data was stored as global variables which is where the original name came from. In an SMP world this data is per-CPU and ideally private to each CPU outside of the context of debuggers. This also included combining machine/globaldata.h and machine/globals.h into machine/pcpu.h. - The pointer to the thread using the FPU on i386 was renamed from npxthread to fpcurthread to be identical with other architectures. - Make the show pcpu ddb command MI with a MD callout to display MD fields. - The globaldata_register() function was renamed to pcpu_init() and now init's MI fields of a struct pcpu in addition to registering it with the internal array and list. - A pcpu_destroy() function was added to remove a struct pcpu from the internal array and list.
Tested on: alpha, i386 Reviewed by: peter, jake
|
#
85761 |
|
31-Oct-2001 |
msmith |
Don't try to probe the PnP BIOS if ACPI is active.
|
#
83051 |
|
05-Sep-2001 |
yokota |
Rework the ISA PnP driver pnp and the PnP resource parser to fix the following bugs.
- When constructing a resource configuration, respect the order in which resource descriptors are read, in order to establish the correct mapping between the descriptors and configuration registers. "Plug and Play ISA Specification, Version 1.0a", Sec 4.6.1, May 5, 1994. "Clarifications to the Plug and Play ISA Specification, Version 1.0a", Sec 6.2.1, Dec. 10, 1994.
- Do not ignore null (empty) descriptors; they are valid descriptors acting as filler. "Clarifications to the Plug and Play ISA Specification, Version 1.0a", Sec 6.2.1.
- Correctly set up logical device configuration registers for null resources. "Clarifications to the Plug and Play ISA Specification, Version 1.0a"
- Handle null resources properly in the resource allocator for the ISA bus.
|
#
71779 |
|
29-Jan-2001 |
peter |
Remove stray #include "isa.h"
|
#
70861 |
|
10-Jan-2001 |
jake |
Use PCPU_GET, PCPU_PTR and PCPU_SET to access all per-cpu variables other then curproc.
|
#
67694 |
|
27-Oct-2000 |
bde |
Declare or #define per-cpu globals in <machine/globals.h> in all cases. The i386 UP case was messily different.
|
#
66489 |
|
30-Sep-2000 |
msmith |
More updates to the ACPI code:
- Move all register I/O into acpi_io.c - Move event handling into acpi_event.c - Reorganise headers into acpivar/acpireg/acpiio - Move find-RSDT and find-ACPI-owned-memory into acpi_machdep - Allocate all resources (except those detailed only by AML) as real resources. Add infrastructure that will make adding resource support to AML code easy. - Remove all ACPI #ifdefs in non-ACPI code - Removed unnecessary includes - Minor style and commenting fixes
Reviewed by: iwasaki
|
#
65292 |
|
31-Aug-2000 |
takawata |
Merge rest piece of ACPI driver.To activate acpi driver ,add
device acpi
line. Merge finished. But still experimental phase.Need more hack!
Obtained from:ACPI for FreeBSD project
|
#
63981 |
|
28-Jul-2000 |
peter |
Fix warning - isa/isavar.h is a prerequisite for isa/pnpvar.h
|
#
62947 |
|
11-Jul-2000 |
tanimura |
Finally merge newmidi. (I had been busy for my own research activity until the last weekend)
Supported devices:
SB Midi Port (sbc + midi) SB OPL3 (sbc + midi) 16550 UART (midi, needs a trick in your hint) CS461x Midi Port (csa + midi)
OSS-compatible sequencer (seq)
Supported playing software:
playmidi (We definitely need more)
Notes:
/dev/midistat now reports installed midi drivers. /dev/sndstat reports only pcm drivers. We need the new name(pcmstat?).
EMU8000(SB AWE) does not sound yet but does get probed so that the OPL3 synth on an AWE card works.
TODO:
MSS/PCI bridge drivers Midi-tty interface to support general serial devices Modules
|
#
61533 |
|
10-Jun-2000 |
msmith |
Don't include opt_smp.h - we don't use anything defined in it.
|
#
61531 |
|
10-Jun-2000 |
msmith |
Correct the tests for ISA PIC/APIC so that they actually work.
|
#
61362 |
|
07-Jun-2000 |
iwasaki |
Fix gdt pointer for the current cpu on SMP. This will support power-off only. Fix for suspend/resume will come later. Also, MFC on this is shceduled on next week.
Submitted by: sumitani@bd2.hnes.nec.co.jp Reviewed by: jlemon
|
#
60668 |
|
17-May-2000 |
msmith |
If we are running in APIC_IO mode, pretend that we didn't see the BIOS reporting an AT PIC. We do this because otherwise the PIC will claim IRQ 2 in an unshareable mode, preventing other devices from legitimately using it.
For symmetry, in !APIC_IO mode, ignore the APIC if it's reported.
This is a hack; a better solution would have the PIC's driver release the IRQ if it was not going to be active.
|
#
59539 |
|
23-Apr-2000 |
nyan |
Disable PCI BIOS on PC-98.
|
#
59294 |
|
16-Apr-2000 |
msmith |
Some more i386-only BIOS-friendliness:
- Add support for using the PCI BIOS functions for configuration space accesses, and make this the default.
- Make PNPBIOS the default (obsoletes the PNPBIOS config option).
- Add two new boot-time tunables to disable each of the above.
|
#
55117 |
|
26-Dec-1999 |
bde |
Don't include <isa/isavar.h> or compile code depending on it when isa is not configured. Including <isa/isavar.h> when it is not used is harmful as well as bogus, since it includes "isa_if.h" which is not generated when isa is not configured.
|
#
52241 |
|
14-Oct-1999 |
dfr |
* Add some verbose logging to the PnP parser and fix a couple of bugs. * Move pnp_eisaformat() to pnp.c, declared in <isa/pnpvar.h>. * Turn the pnpbios code into an enumerator for the isa bus. This allows all devices known to the bios to be probed automatically.
Currently the pnpbios code is dependant on the PNPBIOS option. As the code is tested more and when more drivers are converted this will be made the default. I have PnP changes in the wings for fdc, atkbd, psm, pcaudio, and joy. Sio already works with pnpbios.
|
#
52121 |
|
11-Oct-1999 |
peter |
Zap unneeded #includes
Submitted by: phk
|
#
51193 |
|
12-Sep-1999 |
msmith |
Some PnP BIOSsen return garbage in the high byte of the number-of-devices field (or don't set the high byte at all). Clear it to avoid reporting a silly number of devices.
Reported by: phk
|
#
51121 |
|
10-Sep-1999 |
msmith |
Look for the right ACPI signature.
Submitted by: dfr
|
#
50788 |
|
02-Sep-1999 |
peter |
Update for new pnp includes
|
#
50477 |
|
27-Aug-1999 |
peter |
$Id$ -> $FreeBSD$
|
#
50463 |
|
27-Aug-1999 |
jlemon |
Reference the correct gdt[] entry on SMP. Remove the `generation' flag, and always reload the selectors for every bios call.
|
#
50337 |
|
25-Aug-1999 |
msmith |
Rename 'bios_jmp' to 'bios16_jmp' to make it clear what it's related to.
|
#
50336 |
|
25-Aug-1999 |
peter |
Use the far jump for the base of the page arithmatic rather than the calling function, otherwise Bad Things Happen(tm) when bios16_call is not in the same page as bios_jmp.
Reviewed by: msmith
|
#
50313 |
|
24-Aug-1999 |
msmith |
Work around a bad design in some PnP BIOS code whereby the BIOS can reach off the top of our constructed stack segment while it's trying to copy a maximally-sized PnP argument frame around.
|
#
50094 |
|
20-Aug-1999 |
msmith |
Loosen up the constructed argument segment generation slightly; rather than trying to size it intelligently just make it 64k and leave it up to the caller to ensure that the arguments all fit within that range.
This should resolve the issue that some people were seeing with the PnP BIOS scan crashing on a large PnP node.
|
#
49996 |
|
18-Aug-1999 |
msmith |
Remove the SMBIOS detection and definitions; this should be handled in a loadable module (under development).
|
#
49953 |
|
17-Aug-1999 |
msmith |
Search for and interrogate the PnP BIOS if found. This code just prints the PnP device IDs in verbose mode; it does not (yet) save any resource data or contribute to the PnP process nor resource management.
|
#
49223 |
|
29-Jul-1999 |
msmith |
Formatting-only cleanup accidentally omitted from the patch merge in the previous major update. Bring new code into style alignment with the existing code. No functional changes.
|
#
49203 |
|
29-Jul-1999 |
msmith |
Fix for vmspace sharing as per Alan Cox. Thanks!
|
#
49197 |
|
28-Jul-1999 |
msmith |
Major update to the kernel's BIOS-calling ability.
- Add support for calling 32-bit code in other segments - Add support for calling 16-bit protected mode code
Update APM to use this facility.
Submitted by: jlemon
|
#
44807 |
|
16-Mar-1999 |
msmith |
Look for the right ACPI table signature.
PR: i386/10587 Submitted by: Takanori Watanabe <takawata@shidahara1.planet.sci.kobe-u.ac.jp>
|
#
37651 |
|
15-Jul-1998 |
bde |
Cast virtual addresses that happen to be represented as u_longs to uintptr_t before casting them to pointers. Explicit u_longs should never be used to represent virtual addresses... (vm_offset_t is normally right).
|
#
33181 |
|
09-Feb-1998 |
eivind |
Staticize.
|
#
32164 |
|
01-Jan-1998 |
msmith |
Don't try to call into BIOS32 handlers outside the normal ROM address range. They may have been trashed earlier in the boot process, or the directory header may simply be bogus.
PR: 5140 Submitted by: Joel Faedi <Joel.Faedi@esial.u-nancy.fr> Brought-to-attention-by: Derek Inksetter <derek@saidev.com>, bde
|
#
31016 |
|
07-Nov-1997 |
phk |
Remove a bunch of variables which were unused both in GENERIC and LINT.
Found by: -Wunused
|
#
30623 |
|
21-Oct-1997 |
msmith |
Reference the DMI table inside the SMBIOS table correctly, not using a variable that won't be initialised until a later test. Submitted by: bde via -Wunused
|
#
29789 |
|
24-Sep-1997 |
phk |
Look for another couple of magic bios things..
|
#
28981 |
|
31-Aug-1997 |
bde |
Removed unused #includes.
|
#
27940 |
|
06-Aug-1997 |
peter |
printf does not understand %hd in the kernel
|
#
27906 |
|
04-Aug-1997 |
msmith |
memcmp -> bmcp Submitted by: smp, bde
|
#
27872 |
|
04-Aug-1997 |
msmith |
Correctly checksum the DMI signature structure. Format the BSD revision number therein.
Report from: dave adkins <adkin003@gold.tc.umn.edu>
|
#
27823 |
|
01-Aug-1997 |
msmith |
Support functions for working with x86 PC-architecture BIOS. Initially functionality is confined to 32-bit BIOS functions, however it is envisioned that BIOS support may be enlisted for other activities in the future.
|