summaryrefslogtreecommitdiff
path: root/sys/arch/i386
AgeCommit message (Collapse)Author
2012-10-12Build a 'fdboot' that will be used for floppy disk media. This can be madeJoel Sing
smaller than the normal 'boot', however for now it is identical. ok deraadt@
2012-10-11Initialise the protected mode IDT after zeroing .bss - otherwise we wipeJoel Sing
the IDT that we have just finishing building.
2012-10-10Oops. Need to handle the case of nfs diskless machines, where the blockTheo de Raadt
device name is NULL. From Tim Wiess
2012-10-10Add __BEGIN_DECLS so that programs using C++ can use functionsStuart Henderson
defined in sysarch.h again, they were broken following the change to NO_IMPLICIT_EXTERN_C. help/ok kettenis@
2012-10-09Bump boot versions due to recent changes.Joel Sing
2012-10-09Allow boot(8) to pass information to the kernel, regarding the softraidJoel Sing
volume that it booted off.
2012-10-09Put the real mode IDT and the GDT back in .text - having them in .data onlyJoel Sing
works if .data is within the same segment.
2012-10-09Remove -noinhibit-exec now that we no longer have to deal withJoel Sing
"relocation truncated" linker errors.
2012-10-09Dynamically build the Interrupt Descriptor Table (IDT), instead of usingJoel Sing
a static table. This allows the IDT to be placed in .bss and avoids the "relocation truncated" errors that result from the linker trying to put a 32-bit address into a 16-bit hole. With input from Marco Peereboom. ok weingart@
2012-10-09Sync "Structured Extended Feature Flags" cpuid bits withJonathan Gray
the August 2012 revision of "Intel Architecture Instruction Set Extensions Programming Reference". Correct definitions of EREP and INVPCID, rename EREP to ERMS to match Intel's docs. Add some more Haswell feature bits.
2012-10-09Enable Supervisor Mode Execution Protection (SMEP), found in recentJonathan Gray
Intel chips. If the kernel is tricked into running code from a user page while in supervisor mode we'll now get a page fault and panic instead of running it. suggestions and ok guenther@, ok deraadt@
2012-10-08Revamp the sequences for suspend/hibernate -> resume so that the codeTheo de Raadt
paths are reflexive. It is now possible to fail part-way through a suspend sequence, and recover along the resume code path. Split DVACT_SUSPEND by adding a new DVACT_POWERDOWN method is used after hibernate (and suspend too) to finish the job. Some drivers must be converted at the same time to use this instead of shutdown hooks (the others will follow at a later time) ok kettenis mlarkin
2012-10-08enable 3 new OAK usb sensors on at least two architecturesTheo de Raadt
2012-10-08Avoid accessing .data or .bss from real mode, since they may not be withinJoel Sing
the current segment. Load and store the necessary BIOS registers from protected mode, preserving the register values across the real mode and protected mode switches by directly patching instructions. This allows for boot(8) to be larger than 64KB.
2012-10-08reduce the difference between i386 and amd64 versions of the speedstep codeJonathan Gray
2012-10-04Use information provided by ACPI to attach secondary PCI host bridges.Christian Ehrhardt
ok kettenis@
2012-09-30Remove duplicated chunk; noticed by David GilmoreMiod Vallat
2012-09-27enable smscJonathan Gray
2012-09-27remove the zlib rfc text: these pages already point to gzip(1), whichJason McIntyre
has the references, and the rfc is not that relevant anyway;
2012-09-25Make sure we send MSIs to the primary CPU like we do on amd64.Stuart Henderson
This is a fixed version reinstating the previous commit, fix from Christian Ehrhardt, same fix from brad@.
2012-09-25Remove unused acpi locking code.Paul Irofti
To be replaced with higher level C routines once we settle for a common consistent set of atomic operations across platforms. Discussed with and okay by deraadt@ and kettenis@.
2012-09-25Reduce the diff between amd64/stand and i386/stand, requested by deraadt@.Pascal Stumpf
These create essentially the same bootblocks, so the build system should not be diverging too much, or at least easily diffable. There is still a lot of work to be done here, but this is the low-hanging fruit. ok jsing@
2012-09-22revert previous, breaks the treeStuart Henderson
2012-09-21Make sure we send MSIs to the primary CPU like we do on amd64.Mark Kettenis
Based on a diff from Christian Ehrhardt.
2012-09-19Set up PCI bus number resource accounting for the main PCI bus hierarchy.Mark Kettenis
2012-09-19Add support for the rdrand instruction found in recent Intel processors.Jonathan Gray
Joint work with naddy@ ok naddy@ deraadt@
2012-09-19Add new drivers for virtio network (vio) and block devices (vioblk, the disksStefan Fritsch
attach as scsi disks). These are paravirtualized devices offered by some hypervisors like kvm and virtualbox. The virtio transport driver has the pci specific parts separated out. This will make it easier to add support for mmio (e.g. for ARM) later. OK mikeb OK jasper "commit what you have" deraadt
2012-09-11Remove the 'OLF method' used for the transition from a.out to ELF andTheo de Raadt
for all the compat layers which are now gone. Linux compat still works because it always used another method in any case, and nothing looks at p_os anymore. ok jsing
2012-09-07Implement pci_min_powerstate().Mark Kettenis
2012-09-06remove compat_aout support for i386. ok deraadtTed Unangst
miod has requested a stay of execution for compat_aout in general.
2012-09-03remove a NOPIE= that was still lying aroundTheo de Raadt
2012-08-29Kill all NOPIE and NOPIE_FLAGS in i386/stand, replacing them with -fno-piePascal Stumpf
and -nopie directly. Binaries from a PIE system are identical to those from a recent snapshot. ok deraadt@
2012-08-28Add -nopie to LINKFLAGS on ELF architectures. Note that this needs anPascal Stumpf
updated gcc and ld to understand the new -nopie flag. ok deraadt@
2012-08-24Synchronize CR4 and CPUID portions of <machine/specialreg.h> for i386 and amd64Philip Guenthe
Add display of more feature bits: DTES64 PCID DEADLINE F16C RDRAND Add display of "Structured Extended Feature Flags Parameters": FSGSBASE SMEP EREP INVPCID ok mikeb@
2012-08-23kill nnpfs deadTheo de Raadt
2012-08-22Convert cpp | as rules in bsd.lib.mk and lib/libc/sys/Makefile.inc to pure ccPascal Stumpf
invocations. This allows us to use the compiler builtin define __PIC__ to check for PIC/PIEness rather than passing -DPIC. Simplifies PIE work a lot. ok matthew@, conceptually ok kurt@
2012-08-22Build the kernel with -fno-pie. Just getting Ms out of my tree; this will bePascal Stumpf
cleaned up later. ok deraadt@
2012-08-21Add NOPIE= bits for sys/arch/*/stand to ensure that bootblocks will always bePascal Stumpf
built with -fno-pie. This gets the hairiest part of PIE out of the way ... ok deraadt@
2012-08-16we are past the point where timecounters may disappearTed Unangst
ok miod
2012-08-15use Lk for links;Jason McIntyre
2012-08-14enable mfii(4).David Gwynne
ok deraadt@
2012-08-10';;', even with a newline between the semicolons, doesn't make muchKenneth R Westerback
sense as a for() body. One semicolon is enough. From llvm via Brad.
2012-08-07Move the common bits of syscall invocation and return handling intoPhilip Guenthe
an MI file, <sys/syscall_mi.h>, correcting inconsistencies and the handling when copyin() of arguments fails. Tested on i386, amd64, sparc64, and alpha (thanks naddy@) Any issues with other platforms will be fixed in tree. header name from millert@; ok miod@
2012-08-03enable oce(4)Mike Belopuhov
2012-08-01Use mtrrmask instead of hardcoded values to accommodate newer CPUsMike Belopuhov
with a large physical address size (greater than 36 bit). Fixes a major performance hit seen on newer servers where an incorrectly programmed memory region length affects the PCI device mappings. While here, make sure to invalidate the TLB after programming MSRs and fix an incorrect behavior found by deraadt@ where MTRRdefType was updated outside of the protected region. The fix was partly obtained from FreeBSD, tested by many. With and OK deraadt
2012-07-28zap a misleading commentPhilip Guenthe
2012-07-13Improve diffability with amd64Mike Larkin
2012-07-12Enable hibernate (suspend-to-disk) support for i386.Mike Larkin
Presently only working on pciide/wd disks. ok deraadt@
2012-07-09Remove apic_intrcount counting in the interrupt handlers. Not that usefulTheo de Raadt
anymore as a debugging tool, and it is in a rather critical path. ok kettenis
2012-07-09After a resume, re-initialize the MTRR registers on the AP processorsTheo de Raadt
as well. This fixes very slow performance due to lots of uncached memory on buggy machines, for instance on very large memory thinkpad W500 and such. ok mlarkin kettenis sthen