summaryrefslogtreecommitdiff
path: root/sys/arch/amd64/include
AgeCommit message (Collapse)Author
2008-08-13Disable the fantastics mis-feature on some newer Turion CPUs called C1E.Artur Grabowski
This "power saving" disables the apic when both cpu cores hit the hlt instruction which kills our timer. From FreeBSD.
2008-07-21- add proper double_t and float_t definitions for each archMartynas Venckus
- math.h shouldn't define FLT_EVAL_METHOD, but float.h should (per C99). remove from math.h, and add proper definitions in float.h ok millert@
2008-07-18Add a macro that clears the want_resched flag that need_resched sets.Artur Grabowski
Right now when mi_switch picks up the same proc, we didn't clear the flag which would mean that every time we service an AST we would attempt a context switch. For some architectures, amd64 being probably the most extreme, that meant attempting to context switch for every trap and interrupt. Now we clear_resched explicitly after every context switch, even if it didn't do anything. Which also allows us to remove some more code in cpu_switchto (not done yet). miod@ ok
2008-07-18Add new uvm function called uvm_map_pie() which takes align as aKurt Miller
parameter and returns an aligned random load address for position independent executables to use. This also adds three new vmparam.h defines to specify the maximum address, minimum address and minimum allowed alignment for uvm_map_pie() to use. The PIE address range for i386 was carefully selected to work well within the i386 W^X framework. With much help and feedback from weingart@. okay weingart@, miod@, kettenis@, drahn@
2008-07-02* Dynamically set the rbus start address. from netbsd.Federico G. Schwindt
* For amd64, remove pcibios traces. * make RBUS_IO_START, RBUS_IO_SIZE, RBUS_MIN_START and RBUS_MEM_SIZE (on i386) configurable via kernel options. * Remove unneeded headers. * Some cleanups. originally reported in pr/5829 and tested by viq <viq at viq dot ath dot cx>. fixes ian@ laptop too. kettenis@ and miod@ agrees that although not perfect, this is the right direction.
2008-06-26First pass at removing clauses 3 and 4 from NetBSD licenses.Ray Lai
Not sure what's more surprising: how long it took for NetBSD to catch up to the rest of the BSDs (including UCB), or the amount of code that NetBSD has claimed for itself without attributing to the actual authors. OK deraadt@
2008-06-24On user/kernel shared page table machines, do not let processes map theirTheo de Raadt
own page 0, as discussed with miod (and many others previously, including art and toby). On sparc, make this __LDPGSZ because PAGE_SIZE is non-constant ok miod tedu
2008-06-13Detect if Intel's Safer Mode Extensions (SMX) are present,Jonathan Gray
See http://download.intel.com/technology/security/downloads/31516804.pdf for more information. ok deraadt@ 'looks ok to me' djm@
2008-06-10All your memory belong to us. This has been in snaps for a while,Tobias Weingartner
and seems to work. If it breaks, people had plenty of chances to complain. ok deraadt@
2008-06-09Remove fillw(). Bonus points if you do not remember what it was used for.Miod Vallat
2008-05-26- also zap userldt hereJasper Lievisse Adriaanse
from travers buda, via deraadt@
2008-05-23- remove USER_LDT, it was never in a state where it would copile, nor willJasper Lievisse Adriaanse
we support i386-compat mode on amd64. agreed by beck@, dlg@, kettenis@ ok deraadt@, tom@
2008-04-28Rename IPL_SOFTSERIAL to IPL_SOFTTY and rename the associated symbols.Mark Kettenis
Remove IPL_SERIAL since it is unused. ok krw@, weingart@, deraadt@
2008-04-13garbage collect the cpus_running global variable;Thordur I. Bjornsson
pointed out by and ok drahn@, toby@;
2008-02-11g/c db_thread_fp_used()Miod Vallat
2008-01-15Move some definitions from mpconfig.h to mpbiosreg.h (where they are on i396).Mark Kettenis
ok marco@, miod@
2008-01-02Give LOCKDEBUG kernels a chance to compile; ok kettenis@Miod Vallat
2007-12-20Add an empty pccbb_attach_hook.Mark Kettenis
2007-12-05Hang acpi(4) below bios(4) instead of mainbus(4). This lets us move acpi(4)Theo de Raadt
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
2007-11-26Like i386 - make the __mp_lock not spin at splhigh.Artur Grabowski
deraadt@ ok
2007-11-26Move the implementation of __mp_lock (biglock) into machine dependentArtur Grabowski
code. At this moment all architectures get the copy of the old code except i386 which gets a new shiny implementation that doesn't spin at splhigh (doh!) and doesn't try to grab the biglock when releasing the biglock (double doh!). Shaves 10% of system time during kernel compile and might solve a few bugs as a bonus. Other architectures coming shortly. miod@ deraadt@ ok
2007-11-16typoMike Belopuhov
ok deraadt
2007-11-16fix the bus_space #define nightmare, so that amd64 and i386 are much moreTheo de Raadt
uniform. as a result shared code like acpi needs less #ifdef's ok marco kettenis
2007-11-15Split CPUID into 2 32 bit fields.Marco Peereboom
ok deraadt
2007-11-15Clarify when smbios added multi core support and add the missing stringMarco Peereboom
designations. ok deraadt
2007-11-15oops, processor structs need to be __packed.Marco Peereboom
prompted by deraadt
2007-11-15Add struct for processors.Marco Peereboom
ok deraadt
2007-11-01Remove curproc definition. It is supposed to be in proc.h only.Mike Belopuhov
ok kettenis
2007-10-28get rid of btoc/ctob in favor of atop/ptoaMartin Reindl
2007-10-24Remove idle loop counter.Mike Belopuhov
ok art deraadt
2007-10-19remove vars from some prototypes.Federico G. Schwindt
2007-10-17replacement for the pctr codebase that can handle amd64 processors asTheo de Raadt
well (in fact, all 4 combinations of codebase and processor) written by Mike Belopuhov and Aleksey Lomovtsev
2007-09-12port of i386 pctr code to amd64; Mike BelopuhovTheo de Raadt
2007-09-10Introduce a md pmap hook, pmap_remove_holes(), which is supposed to markMiod Vallat
the holes a MMU may have from a given vm_map. This will be automagically invoked for newly created vmspaces. On platforms with MMU holes (e.g. sun4, sun4c and vax), this prevents mmap(2) hints which would end up being in the hole to be accepted as valid, causing unexpected signals when the process tries to access the hole (since pmap can not fill the hole anyway). Unfortunately, the logic mmap() uses to pick a valid address for anonymous mappings needs work, as it will only try to find an address higher than the hint, which causes all mmap() with a hint in the hole to fail on vax. This will be improved later.
2007-09-01Remove stale comments; prompted by millert.Marco Peereboom
2007-08-31Add vaddr.Marco Peereboom
ok miod
2007-07-06Fix a misleading comment.Artur Grabowski
noted by Constantine Kousoulos <wuwei@freemail.gr>
2007-06-20b_cylinder does not need to be set on the callpath down into drivers.Theo de Raadt
cpu_disklabel can go away, since nothing anymore needs to use it; ok miod
2007-06-17significantly simplified disklabel infrastructure. MBR handling becomes MITheo de Raadt
to support hotplug media on most architectures. disklabel setup and verification done using new helper functions. Disklabels must *always* have a correct checksum now. Same code paths are used to learn on-disk location disklabels, to avoid new errors sneaking in. Tested on almost all cases, testing help from todd, kettenis, krw, otto, dlg, robert, gwk, drahn
2007-06-01some pentium 4 machines are 64-bit and have EST, but a different msr toTed Unangst
get bus clock. copy in some more code from i386 to deal with both families, and be more watchful for unknown models. fixes a panic reported by johan lindman. ok gwk
2007-05-30Pull out the ELF loadfile pieces from the standalone libraries, so thatTom Cosgrove
both 32- and 64-bit versions can be created (previously only one or the other could be built for a given boot loader). Use this to allow the i386 and amd64 boot blocks to boot both ELF32 and ELF64 kernels (i.e. amd64 boot blocks can now load i386 kernels, and vice versa). Obviously the system must support LONG mode in order to successfully run the amd64 kernel once it is loaded. Advice and discussions from/with dale@ (going back three years). Much testing nick@ and todd@; thanks.
2007-05-29take a lot more stuff out of userland namespace (sysctl cared about ksensor ↵Theo de Raadt
use); ok tedu
2007-05-29put the temperature msr in line with the othersTed Unangst
2007-05-29Some improvements for better intel cpu support.Ted Unangst
Add EST support from i386, minus the tables Also add in support for CPU temperature sensors, based on diff to tech by Pierre Riteau. ok deraadt gwk
2007-05-29PMAP_STEAL_MEMORY for amd64Artur Grabowski
drahn@ ok
2007-05-28Move the MSIZE, MCLSHIFT, MCLBYTES and the MCLOFSETThordur I. Bjornsson
mbuf constants from MD param.h to MI param.h. Besides being the same on every arch, things will most probly break if any arch has different values then the others. The NMBCLUSTERS constants needs to be MD though; ok miod@,krw@,claudio@
2007-05-27add pmap_(un)map_nc_direct() macro's to match the non-nc versionsJason Wright
2007-05-27- Redo the way we set up the direct map. Map the first 4GB of itArtur Grabowski
in locore so that we can use the direct map in pmap_bootstrap when setting up the initial page tables. - Introduce a second direct map (I love large address spaces) with uncached pages. jason@ ok
2007-05-25Define rw_cas. Trivially simple on amd64 with atomic_cas_ul.Artur Grabowski
miod@ ok
2007-05-25Change the old slow and complicated TLB shootdown code to new, fast andArtur Grabowski
simple. This is basically the same code as on i386 and basically the same performance improvements. This change also includes code to delay the freeing of ptps until they have been properly shot. in snaps for a week, no problems reported.