| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
and always reload the selectors for every bios call.
|
|
|
|
|
| |
SUPERALIGN_TEXT, but this is inline assembler and after cpp has run.
Inspired by bde's comments on linux_locore.s.
|
| |
|
|
|
|
|
|
|
| |
calling function, otherwise Bad Things Happen(tm) when bios16_call is
not in the same page as bios_jmp.
Reviewed by: msmith
|
|
|
|
|
| |
off the top of our constructed stack segment while it's trying to copy a
maximally-sized PnP argument frame around.
|
|
|
|
| |
Submitted by: Peter Jeremy <jeremyp@gsmx07.alcatel.com.au>
|
|
|
|
| |
Use device_get_nameunit() instead of rolling our own.
|
|
|
|
|
|
| |
gcc warns about the cast on i386's with 64-bit longs.
Print `bootdev' in all cases when we bail out because it is unreasonable.
|
|
|
|
|
|
|
| |
stuff from mem.c. If PERFMON is there, it will "steal" a minor from
mem.c, but mem.c doesn't need to know about this.
Fixed type of cmd argument in perfmon_ioctl().
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Diskslice/label code not yet handled.
Vinum, i4b, alpha, pc98 not dealt with (left to respective Maintainers)
Add the correct hook for devfs to kern_conf.c
The net result of this excercise is that a lot less files depends on DEVFS,
and devtoname() gets more sensible output in many cases.
A few drivers had minor additional cleanups performed relating to cdevsw
registration.
A few drivers don't register a cdevsw{} anymore, but only use make_dev().
|
|
|
|
|
| |
the device methods... Also, don't fail to add eisa/isa because a previous
device failed to attach.
|
|
|
|
| |
to perform the s_unlock inline.
|
|
|
|
| |
macros are only called in the !APIC_IO case, include icu.h there.
|
| |
|
|
|
|
| |
prerequisite for this old pnp.h.
|
|
|
|
|
|
|
|
| |
here any more as they are self identifying. Only PNP remains but that
will be replaced any day now.
Also reword a comment that had been XXX'ed to death to make it clear[er]
why we don't enable interrupts before probing.
PCIBIOS interrupt routing controls may make this possible to fix one day.
|
|
|
|
|
|
|
|
|
| |
than having explicit hooks here.
Treat the eisa/isa attach a little differently so that we defer the
decision about to attach eisa/isa to the motherboard directly only if
the PCI probe (if it exists) fails to turn up a PCI->EISA/ISA bridge.
This restores the original device geometry where ISA and/or EISA attach
to their bridge rather than bypassing and going to the root.
|
|
|
|
|
| |
goes after the npx/apm devices and any other motherboard devices that
may get added down the track.
|
|
|
|
| |
the nexus without explicit code in the nexus to do so.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
PCI fast ethernet controller. Currently, the only card I know that uses
this chip is the D-Link DFE-550TX. (Don't ask me where to buy these: the
only cards I have are samples sent to me by D-Link.)
This driver is the first to make use of the miibus code once I'm sure
it all works together nicely, I'll start converting the other drivers.
The Sundance chip is a clone of the 3Com 3c90x Etherlink XL design
only with its own register layout. Support is provided for ifmedia,
hardware multicast filtering, bridging and promiscuous mode.
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
| |
test does not change undefined flag like Cyrix CPUs. Another is that
5/2 test changes undefined flag like Intel CPUs. Latter one could not
be detected and was recognized 486DX CPU. To solve this,
finishidentcpu() calls identblue() when cpu_vendor is null string
(that is, CPUID instruction is not supported) and cpu == CPU_486.
Tests have been done on IBM BlueLightning CPUs, i486SX and i486DX.
|
|
|
|
|
|
|
|
| |
into two parts - one to do the bsfl and the other to convert the result
(base 0) to ffs()-like (base 1) in inline C. This enables the optimizer
to be a lot smarter in certain cases, like where it knows that the argument
is non-zero and we want ffs(known non zero arg) - 1. This appears to
produce identical code to the old inline when the argument is unknown.
|
|
|
|
|
| |
generates slightly better code and avoids the incl then subl when
using ffs(foo) - 1.
|
| |
|
|
|
|
| |
to get the mplock and enter the kernel to run a process in the SMP case.
|
|
|
|
|
|
|
|
|
|
|
|
| |
that are linked into the kernel. The KLD compilation options are
changed to call these functions, rather than in-lining the
atomic operations.
This approach makes atomic operations from KLDs significantly
faster on UP systems (though somewhat slower on SMP systems).
PR: i386/13111
Submitted by: peter.jeremy@alcatel.com.au
|
|
|
|
| |
loadable module (under development).
|
|
|
|
|
| |
the PnP device IDs in verbose mode; it does not (yet) save any resource
data or contribute to the PnP process nor resource management.
|
|
|
|
|
|
|
|
|
|
| |
0x40 and then access data stored in real-mode segment 0x40, even when
called in protected mode. Microsoft unfortunately coddle these individuals,
and so must we if we want to run their code.
This change works around GPFs in some APM and PnP BIOS implementations.
Obtained from: Linux
|
|
|
|
| |
the map associated with the region to free.
|
| |
|
|
|
|
|
| |
more entries in /dev and be happy you don't need to recompile your
kernel.
|
| |
|
|
|
|
|
| |
If the pte page isn't PQ_NONE, panic rather than silently
covering up the problem.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
as PCI->HOST bridges on my (440BX) box.
My change is to remove the test at the beginning entirely, letting the
switch on the device ID happen first. If the device ID is unknown, then
(in the default case) check for the generic PCIS_BRIDGE_HOST tag. This
should allow wierd cases (eg: wpaul's IMS VL bridge) to work by using the
id override. This strategy is more in line with the other PCI match
methods we use elsewhere,
I only have a limited testbed, but having my USB etc devices detected as
PCI->HOST bridges doesn't look good.
|
|
|
|
|
| |
Add KASSERT to detect out of range access to the pv_table and
report the errant pte before it's overwritten.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
correctly. It has the following code:
if (class != PCIC_BRIDGE || subclass != PCIS_BRIDGE_HOST)
return NULL;
My 486 has an Integrated Micro Solutions PCI bridge which identifies
itself as subclass PCIS_BRIDGE_OTHER, not PCIS_BRIDGE_HOST. Consequently,
it gets ignored. In my opinion, the correct test should be:
if ((class != PCIC_BRIDGE) && (subclass != PCIS_BRIDGE_HOST))
return NULL;
That way the test still succeeds because the chip's class is PCIC_BRIDGE.
Clearly it's not reasonable to expect all host to PCI bridges to always
have a subclass of PCIS_BRIDGE_HOST since I've got one that doesn't.
This way the sanity test should remain relatively sane while still allowing
some oddball yet correct hardware to work. If somebody has a better way
to do it, go ahead and tweak the test, but be aware that
class == PCIC_BRIDGE and subclass == PCIS_BRIDGE_OTHER is a valid case.
While I was here, I also added an explicit ID string for the IMS chipset.
I also dealt with a minor style nit: it's bad karma not to have a default
case for your switch statements, but the one in this routine doesn't have
one. The default string of "Host to PCI bridge" is now assigned in a
default case of the switch statement instead of initializing "s" with the
string before the switch and then not having any default case.
|
|
|
|
| |
may not compile, I can't test it.
|
|
|
|
|
|
|
|
|
| |
we create the pty on the fly when it is first opened.
If you run out of ptys now, just MAKEDEV some more.
This also demonstrate the use of dev_t->si_tty_tty and dev_t->si_drv1
in a device driver.
|
|
|
|
|
|
| |
of 2 weeks ago that this be done, and anyone who wishes to make bpf more
selective according to securelevel or compile-time options is more
than free to do so.
|
| |
|
|
|
|
|
|
| |
behave in an utterly random fashion.
Submitted by: gibbs
|
|
|
|
|
| |
to. This might have caused interesting things on non-PCI hardware if
PCI was compiled in.
|
|
|
|
| |
Verify that object != NULL.
|
|
|
|
| |
served no purpose.
|
|
|
|
| |
Submitted by: dillon
|
|
|
|
|
| |
previous major update. Bring new code into style alignment with the
existing code. No functional changes.
|
| |
|
| |
|