summaryrefslogtreecommitdiffstats
path: root/sys/amd64
Commit message (Collapse)AuthorAgeFilesLines
* - Add uiomove_fromphys() implementations to alpha and ia64. These onlyalc2004-03-201-1/+1
| | | | | differ trivially from amd64. - Correct a spelling error in a comment.
* Introduce the cpumask_t type. The purpose of the type is to create amarcel2004-03-201-0/+1
| | | | | | | | | | | | | | | | | | | level of abstraction for any and all CPU mask and CPU bitmap variables so that platforms have the ability to break free from the hard limit of 32 CPUs, simply because we don't have more bits in an u_int. Note that the type is not supposed to solve massive parallelism, where the number of CPUs can be larger than the width of the widest integral type. As such, cpumask_t is not supposed to be a compound type. If such would be necessary in the future, we can deal with the issues then and there. For now, it can be assumed that the type is integral and unsigned. With this commit, all MD definitions start off as u_int. This allows us to phase-in cpumask_t at our leasure without breaking anything. Once cpumask_t is used consistently, platforms can switch to wider (or smaller) types if such would be beneficial (or not; whatever :-) Compile-tested on: i386
* Introduce uiomove_fromphys(). This is a variant of uiomove() that takesalc2004-03-201-0/+131
| | | | | a collection of physical pages as the source. On amd64 it is implemented using the direct virtual-to-physical map.
* 'vi' got away from me in rev. 1.13.obrien2004-03-191-0/+1
|
* Document machdep.hlt_cpus.obrien2004-03-181-1/+2
| | | | Submitted by: Craig Rodrigues <rodrigc@crodrigues.org>
* Cleanup hints, given that no hammer machine have (nor ever will have)obrien2004-03-181-47/+0
| | | | | | ISA slots. Submitted by: Peter
* sync comment with i386's isa.c.. This removes a comment that is YEARSjmg2004-03-171-3/+1
| | | | old...
* Convert callers to the new bus_alloc_resource_any(9) API.njl2004-03-171-1/+1
| | | | | Submitted by: Mark Santcroos <marks@ripe.net> Reviewed by: imp, dfr, bde
* Refactor the existing machine-dependent sf_buf_free() into a machine-alc2004-03-161-17/+2
| | | | | | | | | | dependent function by the same name and a machine-independent function, sf_buf_mext(). Aside from the virtue of making more of the code machine- independent, this change also makes the interface more logical. Before, sf_buf_free() did more than simply undo an sf_buf_alloc(); it also unwired and if necessary freed the page. That is now the purpose of sf_buf_mext(). Thus, sf_buf_alloc() and sf_buf_free() can now be used as a general-purpose emphemeral map cache.
* Shorten a long comment.obrien2004-03-151-1/+1
|
* Re-kill ispcvt on amd64 - rc.d/syscons was fixed ages ago.peter2004-03-131-109/+0
|
* MFp4: comment out options that don't exist so that they cannot bepeter2004-03-131-1/+1
| | | | | accidently added to config files and be silently accepted. Comment out one bogo-option that crept into NOTES.
* Diff reduction with current. Correct comment about ed etc.peter2004-03-131-4/+4
|
* Move the non-MD machine/dvcfg.h and machine/physio_proc.h to a commonpeter2004-03-132-122/+0
| | | | MI area before they proliferate more.
* Drastically clean up the legacy host-pci bridge table. We don't needpeter2004-03-131-208/+5
| | | | | | | all the ancient Intel/VIA/SIS/etc chipsets on amd64 systems. Even the newer intel stuff won't need this since we use acpi by default and we don't have all their magic programming information. Just use a generic "Host to PCI bridge" name if we ever hit this code.
* MFi386: nuke pci_cfgintrpeter2004-03-132-23/+1
|
* Reduce the scope of the Giant lock being held for non-mpsafe syscalls.peter2004-03-131-14/+6
| | | | There was way too much code being covered.
* Now that contigfree() does not require Giant, don't grab it in busdma.scottl2004-03-131-2/+0
|
* These are changes to allow to use the Intel C/C++ compiler (lang/icc)trhodes2004-03-121-9/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | to build the kernel. It doesn't affect the operation if gcc. Most of the changes are just adding __INTEL_COMPILER to #ifdef's, as icc v8 may define __GNUC__ some parts may look strange but are necessary. Additional changes: - in_cksum.[ch]: * use a generic C version instead of the assembly version in the !gcc case (ASM code breaks with the optimizations icc does) -> no bad checksums with an icc compiled kernel Help from: andre, grehan, das Stolen from: alpha version via ppc version The entire checksum code should IMHO be replaced with the DragonFly version (because it isn't guaranteed future revisions of gcc will include similar optimizations) as in: ---snip--- Revision Changes Path 1.12 +1 -0 src/sys/conf/files.i386 1.4 +142 -558 src/sys/i386/i386/in_cksum.c 1.5 +33 -69 src/sys/i386/include/in_cksum.h 1.5 +2 -0 src/sys/netinet/igmp.c 1.6 +0 -1 src/sys/netinet/in.h 1.6 +2 -0 src/sys/netinet/ip_icmp.c 1.4 +3 -4 src/contrib/ipfilter/ip_compat.h 1.3 +1 -2 src/sbin/natd/icmp.c 1.4 +0 -1 src/sbin/natd/natd.c 1.48 +1 -0 src/sys/conf/files 1.2 +0 -1 src/sys/conf/files.amd64 1.13 +0 -1 src/sys/conf/files.i386 1.5 +0 -1 src/sys/conf/files.pc98 1.7 +1 -1 src/sys/contrib/ipfilter/netinet/fil.c 1.10 +2 -3 src/sys/contrib/ipfilter/netinet/ip_compat.h 1.10 +1 -1 src/sys/contrib/ipfilter/netinet/ip_fil.c 1.7 +1 -1 src/sys/dev/netif/txp/if_txp.c 1.7 +1 -1 src/sys/net/ip_mroute/ip_mroute.c 1.7 +1 -2 src/sys/net/ipfw/ip_fw2.c 1.6 +1 -2 src/sys/netinet/igmp.c 1.4 +158 -116 src/sys/netinet/in_cksum.c 1.6 +1 -1 src/sys/netinet/ip_gre.c 1.7 +1 -2 src/sys/netinet/ip_icmp.c 1.10 +1 -1 src/sys/netinet/ip_input.c 1.10 +1 -2 src/sys/netinet/ip_output.c 1.13 +1 -2 src/sys/netinet/tcp_input.c 1.9 +1 -2 src/sys/netinet/tcp_output.c 1.10 +1 -1 src/sys/netinet/tcp_subr.c 1.10 +1 -1 src/sys/netinet/tcp_syncache.c 1.9 +1 -2 src/sys/netinet/udp_usrreq.c 1.5 +1 -2 src/sys/netinet6/ipsec.c 1.5 +1 -2 src/sys/netproto/ipsec/ipsec.c 1.5 +1 -1 src/sys/netproto/ipsec/ipsec_input.c 1.4 +1 -2 src/sys/netproto/ipsec/ipsec_output.c and finally remove sys/i386/i386 in_cksum.c sys/i386/include in_cksum.h ---snip--- - endian.h: * DTRT in C++ mode - quad.h: * we don't use gcc v1 anymore, remove support for it Suggested by: bde (long ago) - assym.h: * avoid zero-length arrays (remove dependency on a gcc specific feature) This change changes the contents of the object file, but as it's only used to generate some values for a header, and the generator knows how to handle this, there's no impact in the gcc case. Explained by: bde Submitted by: Marius Strobl <marius@alchemy.franken.de> - aicasm.c: * minor change to teach it about the way icc spells "-nostdinc" Not approved by: gibbs (no reply to my mail) - bump __FreeBSD_version (lang/icc needs to know about the changes) Incarnations of this patch survive gcc compiles since a loooong time, I use it on my desktop. An icc compiled kernel works since Nov. 2003 (exceptions: snd_* if used as modules), it survives a build of the entire ports collection with icc. Parts of this commit contains suggestions or submissions from Marius Strobl <marius@alchemy.franken.de>. Reviewed by: -arch Submitted by: netchild
* Don't implement anything in the ffs family in <machine/cpufunc.h>bde2004-03-111-0/+4
| | | | | | | | | | | | | | | in the non-_KERNEL case. This "fixes" applications that include this "kernel-only" header and also include <strings.h> (or get <strings.h> via the default _BSD_VISIBLE pollution in <string.h>. In C++ there was a fatal error: the declaration specifies C linkage but the implementation gives C++ linkage. In C there was only a static/extern mismatch if the headers were included in a certain order order, and a partially redundant declaration for all include orders; gcc emits incomplete or wrong diagnostics for these, but only for compiling with -Wsystem-headers and certain other warning options, so the problem was usually not seen for C. Ports breakage reported by: kris
* Remove stale or broken call to kdb_trap() and protected by the non-marcel2004-03-111-4/+0
| | | | | option KDB. Besides being wrong, it also interferes with ongoing work.
* Stop depending on #include pollution from cpufunc.hpeter2004-03-081-0/+1
|
* MFi386: re-sort non-gcc function prototypes, trim includespeter2004-03-081-44/+30
|
* MFi386: curpcb is no longer null anymore, so do not test for it.peter2004-03-081-3/+1
|
* MFi386: set initial curpcb pcpu variable at startup time rather thanpeter2004-03-081-0/+1
| | | | waiting for a context switch
* MFi386: wait for local apic to become free before using itpeter2004-03-081-4/+2
|
* Retire pmap_pinit2(). Alpha was the last platform that used it. However,alc2004-03-071-13/+0
| | | | | | | | | | | | | | ever since alpha/alpha/pmap.c revision 1.81 introduced the list allpmaps, there has been no reason for having this function on Alpha. Briefly, when pmap_growkernel() relied upon the list of all processes to find and update the various pmaps to reflect a growth in the kernel's valid address space, pmap_init2() served to avoid a race between pmap initialization and pmap_growkernel(). Specifically, pmap_pinit2() was responsible for initializing the kernel portions of the pmap and pmap_pinit2() was called after the process structure contained a pointer to the new pmap for use by pmap_growkernel(). Thus, an update to the kernel's address space might be applied to the new pmap unnecessarily, but an update would never be lost.
* Remove unused declarations. (Some time ago, these variables became fieldsalc2004-03-071-2/+0
| | | | of vm/vm.h's struct kva_md_info.)
* When faced with a "GenuineIntel", we know what they call it now. Replacepeter2004-03-061-2/+2
| | | | snide comment with a different one.
* MFi386: (all: keep a comment in sync with code, and don't depend onbde2004-03-051-0/+4
| | | | namespace pollution).
* Fix syntax errors and wrong function prototypes in several MD headerle2004-03-052-5/+5
| | | | | | | | files when using non-GNUC compilers. PR: kern/58515 Submitted by: Stefan Farfeleder <stefan@fafoe.narf.at> Approved by: grog (mentor), obrien
* Document that ENABLE_ALART controls the alarm on Intel intpm driver.obrien2004-03-051-7/+1
| | | | Submitted by: peter
* Sync with i386/NOTES.obrien2004-03-051-4/+4
|
* Add comment for 'mptable'.obrien2004-03-051-3/+2
| | | | Submitted by: peter
* Note that imp is working on un-shimming this driver, afterwards it shouldobrien2004-03-051-2/+2
| | | | work on AMD64.
* The PECOFF support is 32-bit only.obrien2004-03-051-4/+0
| | | | Reviewed by: peter
* Sync with i386/NOTES rev. 1.1131.obrien2004-03-031-114/+252
|
* AMD64 versions.obrien2004-03-032-0/+122
|
* Since we don't use PG_NX yet, don't turn on EFER_NXE quite yet. This needspeter2004-02-252-0/+6
| | | | | to be done based on the cpuid bits. AMD says that we should test the cpuid features bits for certain things, such as this.
* Catch up with some proc/procsig locking improvements that were made to thepeter2004-02-211-6/+2
| | | | i386 version and were not merged over.
* Device megapatch 4/6:phk2004-02-211-1/+2
| | | | | | | | Introduce d_version field in struct cdevsw, this must always be initialized to D_VERSION. Flip sense of D_NOGIANT flag to D_NEEDGIANT, this involves removing four D_NOGIANT flags and adding 145 D_NEEDGIANT flags.
* Checkpoint the NOTES I was working on.obrien2004-02-191-152/+114
|
* I forgot to add the NO_MODULES override for NOTESpeter2004-02-081-0/+3
|
* Remove the badsw* INVARIANTS checks. The events that this attemptspeter2004-02-061-96/+10
| | | | | | | | | to catch are already nicely caught by trapping the null pointer derefs. Remove no-longer-used noswitch/nothrow strings. They were referenced by the stub cpu_switch() etc functions before they were implemented. Try something a little different for the lock prefixes. Prompted by: bde (the first two items anyway)
* Turn of ath since it causes a link failure without the hal till sam'speter2004-02-061-1/+1
| | | | set up with a cross compiler and has the time to port the hal.
* Rename cn_unavailable to cnunavailable for little more consistency.kan2004-02-051-2/+2
| | | | | | Garbage collect unused cndebug() function. Suggested by: bde
* Eliminate global cons_unavailable flag and replace it by the statuskan2004-02-051-2/+2
| | | | | bit maintained on a per-device basis. Single variable is inadequate on machines running with multiple consoles enabled.
* Don't cast a pointer to an int that isn't big enough.peter2004-02-051-1/+1
|
* Fix long/int printf format problems exposed by PMAP_DIAGNOSTICpeter2004-02-051-7/+7
|
* Checkpoint a NOTES file I had as of Nov 23rd. It doesn't quite compilepeter2004-02-041-0/+419
| | | | due to triggering some printf breakage in some DIAGNOSTIC printfs.
OpenPOWER on IntegriCloud