<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/arch/x86/include/asm/mpspec.h, branch linux-3.10.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-3.10.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-3.10.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2012-05-17T23:06:13Z</updated>
<entry>
<title>MCA: delete all remaining traces of microchannel bus support.</title>
<updated>2012-05-17T23:06:13Z</updated>
<author>
<name>Paul Gortmaker</name>
</author>
<published>2012-05-17T23:06:13Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=bb8187d35f820671d6dd76700d77a6b55f95e2c5'/>
<id>urn:sha1:bb8187d35f820671d6dd76700d77a6b55f95e2c5</id>
<content type='text'>
Hardware with MCA bus is limited to 386 and 486 class machines
that are now 20+ years old and typically with less than 32MB
of memory.  A quick search on the internet, and you see that
even the MCA hobbyist/enthusiast community has lost interest
in the early 2000 era and never really even moved ahead from
the 2.4 kernels to the 2.6 series.

This deletes anything remaining related to CONFIG_MCA from core
kernel code and from the x86 architecture.  There is no point in
carrying this any further into the future.

One complication to watch for is inadvertently scooping up
stuff relating to machine check, since there is overlap in
the TLA name space (e.g. arch/x86/boot/mca.c).

Cc: Thomas Gleixner &lt;tglx@linutronix.de&gt;
Cc: James Bottomley &lt;JBottomley@Parallels.com&gt;
Cc: x86@kernel.org
Acked-by: Ingo Molnar &lt;mingo@elte.hu&gt;
Acked-by: H. Peter Anvin &lt;hpa@zytor.com&gt;
Signed-off-by: Paul Gortmaker &lt;paul.gortmaker@windriver.com&gt;
</content>
</entry>
<entry>
<title>x86: Unify cpu/apicid &lt;-&gt; NUMA node mapping between 32 and 64bit</title>
<updated>2011-01-28T13:54:09Z</updated>
<author>
<name>Tejun Heo</name>
</author>
<published>2011-01-23T13:37:39Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=bbc9e2f452d9c4b166d1f9a78d941d80173312fe'/>
<id>urn:sha1:bbc9e2f452d9c4b166d1f9a78d941d80173312fe</id>
<content type='text'>
The mapping between cpu/apicid and node is done via
apicid_to_node[] on 64bit and apicid_2_node[] +
apic-&gt;x86_32_numa_cpu_node() on 32bit. This difference makes it
difficult to further unify 32 and 64bit NUMA handling.

This patch unifies it by replacing both apicid_to_node[] and
apicid_2_node[] with __apicid_to_node[] array, which is accessed
by two accessors - set_apicid_to_node() and numa_cpu_node().  On
64bit, numa_cpu_node() always consults __apicid_to_node[]
directly while 32bit goes through apic-&gt;numa_cpu_node() method
to allow apic implementations to override it.

srat_detect_node() for amd cpus contains workaround for broken
NUMA configuration which assumes relationship between APIC ID,
HT node ID and NUMA topology.  Leave it to access
__apicid_to_node[] directly as mapping through CPU might result
in undesirable behavior change.  The comment is reformatted and
updated to note the ugliness.

Signed-off-by: Tejun Heo &lt;tj@kernel.org&gt;
Reviewed-by: Pekka Enberg &lt;penberg@kernel.org&gt;
Cc: eric.dumazet@gmail.com
Cc: yinghai@kernel.org
Cc: brgerst@gmail.com
Cc: gorcunov@gmail.com
Cc: shaohui.zheng@intel.com
Cc: rientjes@google.com
LKML-Reference: &lt;1295789862-25482-14-git-send-email-tj@kernel.org&gt;
Signed-off-by: Ingo Molnar &lt;mingo@elte.hu&gt;
Cc: David Rientjes &lt;rientjes@google.com&gt;
</content>
</entry>
<entry>
<title>x86: Drop x86_32 MAX_APICID</title>
<updated>2011-01-28T13:54:04Z</updated>
<author>
<name>Tejun Heo</name>
</author>
<published>2011-01-23T13:37:28Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=b78aa66b1fe4179d28e3f6502dc179773519a1bb'/>
<id>urn:sha1:b78aa66b1fe4179d28e3f6502dc179773519a1bb</id>
<content type='text'>
Commit 56d91f13 (x86, acpi: Add MAX_LOCAL_APIC for 32bit) added
MAX_LOCAL_APIC for x86_32 but didn't replace MAX_APICID users
with it. Convert MAX_APICID users to MAX_LOCAL_APIC and drop
MAX_APICID.

Signed-off-by: Tejun Heo &lt;tj@kernel.org&gt;
Reviewed-by: Pekka Enberg &lt;penberg@kernel.org&gt;
Acked-by: Yinghai Lu &lt;yinghai@kernel.org&gt;
Cc: eric.dumazet@gmail.com
Cc: yinghai@kernel.org
Cc: brgerst@gmail.com
Cc: gorcunov@gmail.com
Cc: shaohui.zheng@intel.com
Cc: rientjes@google.com
LKML-Reference: &lt;1295789862-25482-3-git-send-email-tj@kernel.org&gt;
Signed-off-by: Ingo Molnar &lt;mingo@elte.hu&gt;
</content>
</entry>
<entry>
<title>x86: Fix APIC ID sizing bug on larger systems, clean up MAX_APICS confusion</title>
<updated>2011-01-05T13:09:23Z</updated>
<author>
<name>Yinghai Lu</name>
</author>
<published>2011-01-05T00:38:52Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=cb2ded37fd2e1039f96c8c892da024a8f033add5'/>
<id>urn:sha1:cb2ded37fd2e1039f96c8c892da024a8f033add5</id>
<content type='text'>
Found one x2apic pre-enabled system, x2apic_mode suddenly get
corrupted after register some cpus, when compiled
CONFIG_NR_CPUS=255 instead of 512.

It turns out that generic_processor_info() ==&gt; phyid_set(apicid,
phys_cpu_present_map) causes the problem.

phys_cpu_present_map is sized by MAX_APICS bits, and pre-enabled
system some cpus have an apic id &gt; 255.

The variable after phys_cpu_present_map may get corrupted
silently:

 ffffffff828e8420 B phys_cpu_present_map
 ffffffff828e8440 B apic_verbosity
 ffffffff828e8444 B local_apic_timer_c2_ok
 ffffffff828e8448 B disable_apic
 ffffffff828e844c B x2apic_mode
 ffffffff828e8450 B x2apic_disabled
 ffffffff828e8454 B num_processors
 ...

Actually phys_cpu_present_map is referenced via apic id, instead
index. We should use MAX_LOCAL_APIC instead MAX_APICS.

For 64-bit it will be 32768 in all cases. BSS will increase by 4k bytes
on 64-bit:

	text		data		bss		dec		filename
	21696943	4193748		12787712	38678403	vmlinux.before
	21696943	4193748		12791808	38682499	vmlinux.after

No change on 32bit.

Finally we can remove MAX_APCIS that was rather confusing.

Signed-off-by: Yinghai Lu &lt;yinghai@kernel.org&gt;
Cc: H. Peter Anvin &lt;hpa@linux.intel.com&gt;
Cc: "Eric W. Biederman" &lt;ebiederm@xmission.com&gt;
LKML-Reference: &lt;4D23BD9C.3070102@kernel.org&gt;
Signed-off-by: Ingo Molnar &lt;mingo@elte.hu&gt;
</content>
</entry>
<entry>
<title>x86, acpi: Add MAX_LOCAL_APIC for 32bit</title>
<updated>2010-12-23T21:15:53Z</updated>
<author>
<name>Yinghai Lu</name>
</author>
<published>2010-12-17T03:09:24Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=56d91f132c9be66e98cce1b1e77a28027048bb26'/>
<id>urn:sha1:56d91f132c9be66e98cce1b1e77a28027048bb26</id>
<content type='text'>
We should use MAX_LOCAL_APIC for max apic ids and MAX_APICS as number
of local apics.

Also apic_version[] array should use MAX_LOCAL_APICs.

Signed-off-by: Yinghai Lu &lt;yinghai@kernel.org&gt;
LKML-Reference: &lt;4D0AD464.2020408@kernel.org&gt;
Signed-off-by: H. Peter Anvin &lt;hpa@linux.intel.com&gt;
</content>
</entry>
<entry>
<title>x86, ioapic: Simplify probe_nr_irqs_gsi.</title>
<updated>2010-05-04T20:35:11Z</updated>
<author>
<name>Eric W. Biederman</name>
</author>
<published>2010-03-30T08:07:14Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=4afc51a835d3aeba11c35090f524e05c84586d27'/>
<id>urn:sha1:4afc51a835d3aeba11c35090f524e05c84586d27</id>
<content type='text'>
Use the global gsi_end value now that all ioapics have
valid gsi numbers instead of a combination of acpi_probe_gsi
and walking all of the ioapics and couting their number of
entries by hand if acpi_probe_gsi gave us an answer we did
not like.

Signed-off-by: Eric W. Biederman &lt;ebiederm@xmission.com&gt;
LKML-Reference: &lt;1269936436-7039-13-git-send-email-ebiederm@xmission.com&gt;
Signed-off-by: H. Peter Anvin &lt;hpa@zytor.com&gt;
</content>
</entry>
<entry>
<title>x86, ioapic: Only export mp_find_ioapic and mp_find_ioapic_pin in io_apic.h</title>
<updated>2010-05-04T20:34:44Z</updated>
<author>
<name>Eric W. Biederman</name>
</author>
<published>2010-03-30T08:07:07Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=9638fa521e42c9281c874c6b5a382b1ced4ee496'/>
<id>urn:sha1:9638fa521e42c9281c874c6b5a382b1ced4ee496</id>
<content type='text'>
Multiple declarations of the same function in different headers
is a pain to maintain.

Signed-off-by: Eric W. Biederman &lt;ebiederm@xmission.com&gt;
LKML-Reference: &lt;1269936436-7039-6-git-send-email-ebiederm@xmission.com&gt;
Signed-off-by: H. Peter Anvin &lt;hpa@zytor.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'x86-mm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip</title>
<updated>2009-12-08T21:27:33Z</updated>
<author>
<name>Linus Torvalds</name>
</author>
<published>2009-12-08T21:27:33Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=e33c01972239fee4696679ae5f7d1f340f424999'/>
<id>urn:sha1:e33c01972239fee4696679ae5f7d1f340f424999</id>
<content type='text'>
* 'x86-mm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (36 commits)
  x86, mm: Correct the implementation of is_untracked_pat_range()
  x86/pat: Trivial: don't create debugfs for memtype if pat is disabled
  x86, mtrr: Fix sorting of mtrr after subtracting
  x86: Move find_smp_config() earlier and avoid bootmem usage
  x86, platform: Change is_untracked_pat_range() to bool; cleanup init
  x86: Change is_ISA_range() into an inline function
  x86, mm: is_untracked_pat_range() takes a normal semiclosed range
  x86, mm: Call is_untracked_pat_range() rather than is_ISA_range()
  x86: UV SGI: Don't track GRU space in PAT
  x86: SGI UV: Fix BAU initialization
  x86, numa: Use near(er) online node instead of roundrobin for NUMA
  x86, numa, bootmem: Only free bootmem on NUMA failure path
  x86: Change crash kernel to reserve via reserve_early()
  x86: Eliminate redundant/contradicting cache line size config options
  x86: When cleaning MTRRs, do not fold WP into UC
  x86: remove "extern" from function prototypes in &lt;asm/proto.h&gt;
  x86, mm: Report state of NX protections during boot
  x86, mm: Clean up and simplify NX enablement
  x86, pageattr: Make set_memory_(x|nx) aware of NX support
  x86, sleep: Always save the value of EFER
  ...

Fix up conflicts (added both iommu_shutdown and is_untracked_pat_range)
to 'struct x86_platform_ops') in
	arch/x86/include/asm/x86_init.h
	arch/x86/kernel/x86_init.c
</content>
</entry>
<entry>
<title>x86: Move find_smp_config() earlier and avoid bootmem usage</title>
<updated>2009-11-24T11:10:51Z</updated>
<author>
<name>Yinghai Lu</name>
</author>
<published>2009-11-24T10:48:18Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=b24c2a925a9837cccf54d50aeac22ba0cbc15455'/>
<id>urn:sha1:b24c2a925a9837cccf54d50aeac22ba0cbc15455</id>
<content type='text'>
Move the find_smp_config() call to before bootmem is initialized.
Use reserve_early() instead of reserve_bootmem() in it.

This simplifies the code, we only need to call find_smp_config()
once and can remove the now unneeded reserve parameter from
x86_init_mpparse::find_smp_config.

We thus also reduce x86's dependency on bootmem allocations.

Signed-off-by: Yinghai Lu &lt;yinghai@kernel.org&gt;
LKML-Reference: &lt;4B0BB9F2.70907@kernel.org&gt;
Signed-off-by: Ingo Molnar &lt;mingo@elte.hu&gt;
</content>
</entry>
<entry>
<title>x86: apic: Do not use stacked physid_mask_t</title>
<updated>2009-11-10T04:52:07Z</updated>
<author>
<name>Cyrill Gorcunov</name>
</author>
<published>2009-11-09T22:06:59Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=7abc07531383ac7f727cc9d44e1360a829f2082e'/>
<id>urn:sha1:7abc07531383ac7f727cc9d44e1360a829f2082e</id>
<content type='text'>
We should not use physid_mask_t as a stack based
variable in apic code. This type depends on MAX_APICS
parameter which may be huge enough.

Especially it became a problem with apic NOOP driver which
is portable between 32 bit and 64 bit environment
(where we have really huge MAX_APICS).

So apic driver should operate with pointers and a caller
in turn should aware of allocation physid_mask_t variable.

As a side (but positive) effect -- we may use already
implemented physid_set_mask_of_physid function eliminating
default_apicid_to_cpu_present completely.

Note that physids_coerce and physids_promote turned into static
inline from macro (since macro hides the fact that parameter is
being interpreted as unsigned long, make it explicit).

Signed-off-by: Cyrill Gorcunov &lt;gorcunov@openvz.org&gt;
Cc: Yinghai Lu &lt;yinghai@kernel.org&gt;
Cc: Maciej W. Rozycki &lt;macro@linux-mips.org&gt;
Cc: Stephen Rothwell &lt;sfr@canb.auug.org.au&gt;
LKML-Reference: &lt;20091109220659.GA5568@lenovo&gt;
Signed-off-by: Ingo Molnar &lt;mingo@elte.hu&gt;
</content>
</entry>
</feed>
