summaryrefslogtreecommitdiff
path: root/sys/arch/amd64/include
AgeCommit message (Collapse)Author
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.
2007-05-16splassert_ctl defaults to 1 now, so dont wrap the checks forThordur I. Bjornsson
splassert_ctl > 0 in __predict_false(). ok deraadt@
2007-05-16The world of __HAVEs and __HAVE_NOTs is reducing. All architecturesArtur Grabowski
have cpu_info now, so kill the option. eyeballed by jsg@ and grange@
2007-05-15Switch amd64 to VM_PAGE_MD. Mostly just imitating i386. flags in pg_flags.Artur Grabowski
deraadt@ ok
2007-05-15Remove the MI implementation of mutexes and remove the __HAVE_MUTEXArtur Grabowski
option. Every architecture implements mutexes now.
2007-05-10evcnt & friends were replaced by a proper interrupt counting mechanism 3 ↵Theo de Raadt
years ago; ok miod
2007-05-07Garbage collect ci_astpending; it's no longer used.Mark Kettenis
ok miod@, art@
2007-05-06Add the mp setperf mechanism to AMD64, like its i386 counterpart it allowsGordon Willem Klok
all cpus in a system supporting frequency and voltage scaling to be scaled by the same amount corresponding to the user (or apmd on their behalf) performance level. This diff also teaches amd64 about acpi_hasprocfvs (ACPI has processor frequency and voltage scaling). It also moves initilization of the underlying setperf mechanism such as powernow to mainbus from the cpu indentification and initilization code inspired by similar changes dim@ made to i386 durring h2k6. This is necessary to implement the AMD recommended method for retreiving p_state data from the ACPI _PSS object (a diff comming soon). It will also simplify the potential addition of enhanced speedstep as found on newer intel processors with EMT64 capable of running OpenBSD/amd64. MP setperf functionality verifed by myself and Johan M:son Lindman <tybolt AT solace DOT miun DOT se> on opteron 265 and 270 systems respectively. General testing done by many others thanks! ok tedu, dim
2007-04-27remove duplicate defines.David Gwynne
found by lint, ok deraadt@
2007-03-29Equiv diff to amd64 as was done on i386, bump VM_PHYSSEG_MAX. Amd64 areTobias Weingartner
PCs too... Tested by dlg@ and brad.
2007-03-15Since p_flag is often manipulated in interrupts and without biglockArtur Grabowski
it's a good idea to use atomic.h operations on it. This mechanic change updates all bit operations on p_flag to atomic_{set,clear}bits_int. Only exception is that P_OWEUPC is set by MI code before calling need_proftick and it's automatically cleared by ADDUPC. There's no reason for MD handling of that flag since everyone handles it the same way. kettenis@ ok
2007-02-19only make this interface available to the kernel for now, discussed withaTheo de Raadt
rt and such; tested and ok miod drahn
2007-02-17Add code to check for the AMD amd64 errata, and correct them whereTom Cosgrove
possible. Taken from NetBSD. ok deraadt@
2007-02-13Check for some CPUID flags found on newer Intel processors.Jonathan Gray
ok tom@ gwk@ krw@
2007-02-11Remove _KERNEL_OPT leftovers.Miod Vallat
2007-02-06Add machine/atomic.h to all architectures and define two operationsArtur Grabowski
right now that are supposed to be atomic with respect to interrupts and SMP: atomic_setbits_int and atomic_clearbits_int. All architectures other than i386 and amd64 get dummy implementations since at first we'll be replacing operations that are done with "a |= bit" and "a &= ~bit" today. More proper implementations will follow kettenis@, miod@ ok
2007-02-01When doing signotify, check if we're notifying a process on anotherArtur Grabowski
cpu and if we do, send it an IPI that will force to get into the kernel and process the AST. This makes signals to processes on other CPUs to be actually delivered as soon as possible instead of some time in the future when some interupt happens. heavy testing by krw@, miod@ ok (in principle, since he doesn't do amd64)
2007-02-01Rename the MICROSET IPI we inherited from NetBSD to simply NOP sinceArtur Grabowski
it doesn't do anything (other than poking into the kernel a processing ASTs).
2006-12-24Define PROC_PC. Then, since profiling information is being reported inMiod Vallat
statclock(), do not bother doing this in userret() anymore. As a result, userret() does not need its pc and ticks arguments, simplify.
2006-12-20Decalre extern int cpuspeed in sys/arch/amd64/include/cpu.h like cpuspeedGordon Willem Klok
is declared in the equivalent file on i386 and delete the repeticious declarations already scattered in a few places. Thanks to Will Backman for letting me test this on his machine, ok mk@
2006-12-12Complete gwk's previous patch to stop setperf methods from returningDimitry Andric
errors to userland: make all cpu_setperf functions return void. Tested by many, ok gwk@
2006-11-25sync amd64 to i386 w.r.t. acpi support. Also fix interrupt routing for ↵Niklas Hallqvist
multi-ioapic systems. ok kettenis
2006-11-07Timecounters for amd64. Diff by art@, tested by many. ok deraadt@Otto Moerbeek
2006-10-28Make sure we call _mcount throught the PLT when generating PIC code.Mark Kettenis
ok drahn@, miod@
2006-10-20Try again with local variable to avoid alignment issues.Kenneth R Westerback
"The dosparts member of cpu_disklabel was not used for any persistant data. Eliminate it, and just use the data being read in while processing MBR and EBR records. Should be no functional change. ok weingart@ deraadt@"
2006-10-18back out disksubr changes ... since they violate strict alignment onTheo de Raadt
some architectures (kaboom); that will be fixed in the next iteration hopefully!
2006-10-17The dosparts member of cpu_disklabel was not used for any persistantKenneth R Westerback
data. Eliminate it, and just use the data being read in while processing MBR and EBR records. Should be no functional change. ok weingart@ deraadt@
2006-10-16Fix some more "is is"s. ok otto@.Tom Cosgrove
2006-10-04Zap bad144 bad sector info in disklabels. Sparsely used if at all forKenneth R Westerback
a few obsolete and easily replaced disk models. And didn't work anyway according to Bob, who has tried. ok beck@
2006-10-01Adjust for change of fpu control word.Mark Kettenis
ok deraadt@
2006-10-01Switch fpu control word to the hardware default. This makes us use 64-bitMark Kettenis
precision instead of 53-bit precision, giving us proper support for "long double". ok deraadt@
2006-07-01Eliminate redundant get_le() in favour of letoh32(). Add letoh32()Kenneth R Westerback
calls in alpha, hppa, hppa64 and mips63 when accessing the two DOS MBR u_int32_t fields dp_size and dp_start. No functional change.
2006-06-26Clean up some inconsistancies in definitions around DOS MBR code. NoKenneth R Westerback
functional change. ok deraadt@
2006-05-20add bios_bootmac_t and BOOTARG_BOOTMACTheo de Raadt
2006-05-19Smbios cleanupGordon Willem Klok
Improve the heuristics a little and extend them to the version and serial number fields. Clean the strings of leading/trailing space and deal with strings which consist entirely of space. Use fixed buffers for strings instead of using pointers into the table. ok deraadt@, and tested by many.
2006-05-10Missing $OpenBSD$ tags.Kenneth R Westerback
2006-05-08Add smbios support for i386 and amd64, fix ipmi to use this new functionallity,Gordon Willem Klok
hook up some sysctls to add system vendor/product/version and UUID reporting. "get it in" deraadt@
2006-04-27from PAE work:Michael Shalayeff
add a BUS_DMA_24BIT flag to signify that dmamap being created is for the isadma use (thus already backed up by the bounce buffers). later also to be used for dmamem allocation.
2006-04-09#ifdef lint wraps for va_startTheo de Raadt
2006-03-22Fixup broken mpbios'es on VT8237 and nForce4 chipsets. Fixes interruptMark Kettenis
routing for SATA on those chipsets in GENERIC.MP. ok mickey@, brad@.