* [patch 0/2] x86 apic - a few function merge v2
@ 2008-07-24 11:43 Cyrill Gorcunov
1970-01-01 0:00 ` [patch 1/2] x86: apic unification - merge down lapic_get_maxlvt Cyrill Gorcunov
` (2 more replies)
0 siblings, 3 replies; 4+ messages in thread
From: Cyrill Gorcunov @ 2008-07-24 11:43 UTC (permalink / raw)
To: mingo, linux-kernel, macro
I don't leave hope to merge APIC code someday (now it becomes harder
'cause of new x(2)APIC code). So these patches merges a few functions.
No changes on binary level. Please review. Any comments are welcome!
The patches are made on top of -tip tree
commit d55ee73e46e89547aca7ca83a2df80bf70d9d1d1
Merge: 6a807a0... 695a6b4...
Author: Ingo Molnar <mingo@elte.hu>
Date: Wed Jul 23 13:21:26 2008 +0200
Merge branch 'cpus4096'
- Cyrill -
--
^ permalink raw reply [flat|nested] 4+ messages in thread* [patch 1/2] x86: apic unification - merge down lapic_get_maxlvt
2008-07-24 11:43 [patch 0/2] x86 apic - a few function merge v2 Cyrill Gorcunov
@ 1970-01-01 0:00 ` Cyrill Gorcunov
1970-01-01 0:00 ` [patch 2/2] x86: apic unification - merge down enable_NMI_through_LVT0 Cyrill Gorcunov
2008-07-24 11:53 ` [patch 0/2] x86 apic - a few function merge v2 Ingo Molnar
2 siblings, 0 replies; 4+ messages in thread
From: Cyrill Gorcunov @ 1970-01-01 0:00 UTC (permalink / raw)
To: mingo, linux-kernel, macro; +Cc: Cyrill Gorcunov
[-- Attachment #1: x86-apic-merge-lapic_get_maxlvt --]
[-- Type: text/plain, Size: 1479 bytes --]
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
---
No code change on binary level.
Index: linux-2.6.git/arch/x86/kernel/apic_32.c
===================================================================
--- linux-2.6.git.orig/arch/x86/kernel/apic_32.c 2008-07-24 13:40:58.000000000 +0400
+++ linux-2.6.git/arch/x86/kernel/apic_32.c 2008-07-24 13:48:52.000000000 +0400
@@ -226,9 +226,13 @@ int get_physical_broadcast(void)
*/
int lapic_get_maxlvt(void)
{
- unsigned int v = apic_read(APIC_LVR);
+ unsigned int v;
- /* 82489DXs do not report # of LVT entries. */
+ v = apic_read(APIC_LVR);
+ /*
+ * - we always have APIC integrated on 64bit mode
+ * - 82489DXs do not report # of LVT entries
+ */
return APIC_INTEGRATED(GET_APIC_VERSION(v)) ? GET_APIC_MAXLVT(v) : 2;
}
Index: linux-2.6.git/arch/x86/kernel/apic_64.c
===================================================================
--- linux-2.6.git.orig/arch/x86/kernel/apic_64.c 2008-07-24 13:40:58.000000000 +0400
+++ linux-2.6.git/arch/x86/kernel/apic_64.c 2008-07-24 13:48:38.000000000 +0400
@@ -228,11 +228,14 @@ void __cpuinit enable_NMI_through_LVT0(v
*/
int lapic_get_maxlvt(void)
{
- unsigned int v, maxlvt;
+ unsigned int v;
v = apic_read(APIC_LVR);
- maxlvt = GET_APIC_MAXLVT(v);
- return maxlvt;
+ /*
+ * - we always have APIC integrated on 64bit mode
+ * - 82489DXs do not report # of LVT entries
+ */
+ return APIC_INTEGRATED(GET_APIC_VERSION(v)) ? GET_APIC_MAXLVT(v) : 2;
}
/*
--
^ permalink raw reply [flat|nested] 4+ messages in thread* [patch 2/2] x86: apic unification - merge down enable_NMI_through_LVT0
2008-07-24 11:43 [patch 0/2] x86 apic - a few function merge v2 Cyrill Gorcunov
1970-01-01 0:00 ` [patch 1/2] x86: apic unification - merge down lapic_get_maxlvt Cyrill Gorcunov
@ 1970-01-01 0:00 ` Cyrill Gorcunov
2008-07-24 11:53 ` [patch 0/2] x86 apic - a few function merge v2 Ingo Molnar
2 siblings, 0 replies; 4+ messages in thread
From: Cyrill Gorcunov @ 1970-01-01 0:00 UTC (permalink / raw)
To: mingo, linux-kernel, macro; +Cc: Cyrill Gorcunov
[-- Attachment #1: x86-apic-merge-enable_NMI_through_LVT0 --]
[-- Type: text/plain, Size: 1306 bytes --]
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
---
No code change on binary level.
Index: linux-2.6.git/arch/x86/kernel/apic_32.c
===================================================================
--- linux-2.6.git.orig/arch/x86/kernel/apic_32.c 2008-07-24 14:16:55.000000000 +0400
+++ linux-2.6.git/arch/x86/kernel/apic_32.c 2008-07-24 14:22:00.000000000 +0400
@@ -205,11 +205,15 @@ EXPORT_SYMBOL_GPL(apic_ops);
*/
void __cpuinit enable_NMI_through_LVT0(void)
{
- unsigned int v = APIC_DM_NMI;
+ unsigned int v;
+
+ /* unmask and set to NMI */
+ v = APIC_DM_NMI;
- /* Level triggered for 82489DX */
+ /* Level triggered for 82489DX (32bit mode) */
if (!lapic_is_integrated())
v |= APIC_LVT_LEVEL_TRIGGER;
+
apic_write(APIC_LVT0, v);
}
Index: linux-2.6.git/arch/x86/kernel/apic_64.c
===================================================================
--- linux-2.6.git.orig/arch/x86/kernel/apic_64.c 2008-07-24 14:16:55.000000000 +0400
+++ linux-2.6.git/arch/x86/kernel/apic_64.c 2008-07-24 14:22:09.000000000 +0400
@@ -220,6 +220,11 @@ void __cpuinit enable_NMI_through_LVT0(v
/* unmask and set to NMI */
v = APIC_DM_NMI;
+
+ /* Level triggered for 82489DX (32bit mode) */
+ if (!lapic_is_integrated())
+ v |= APIC_LVT_LEVEL_TRIGGER;
+
apic_write(APIC_LVT0, v);
}
--
^ permalink raw reply [flat|nested] 4+ messages in thread* Re: [patch 0/2] x86 apic - a few function merge v2
2008-07-24 11:43 [patch 0/2] x86 apic - a few function merge v2 Cyrill Gorcunov
1970-01-01 0:00 ` [patch 1/2] x86: apic unification - merge down lapic_get_maxlvt Cyrill Gorcunov
1970-01-01 0:00 ` [patch 2/2] x86: apic unification - merge down enable_NMI_through_LVT0 Cyrill Gorcunov
@ 2008-07-24 11:53 ` Ingo Molnar
2 siblings, 0 replies; 4+ messages in thread
From: Ingo Molnar @ 2008-07-24 11:53 UTC (permalink / raw)
To: Cyrill Gorcunov; +Cc: linux-kernel, macro, the arch/x86 maintainers
* Cyrill Gorcunov <gorcunov@gmail.com> wrote:
> I don't leave hope to merge APIC code someday (now it becomes harder
> 'cause of new x(2)APIC code). So these patches merges a few functions.
> No changes on binary level. Please review. Any comments are welcome!
looks good to me - applied to tip/x86/apic, thanks Cyrill.
Ingo
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2008-07-24 11:53 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-07-24 11:43 [patch 0/2] x86 apic - a few function merge v2 Cyrill Gorcunov
1970-01-01 0:00 ` [patch 1/2] x86: apic unification - merge down lapic_get_maxlvt Cyrill Gorcunov
1970-01-01 0:00 ` [patch 2/2] x86: apic unification - merge down enable_NMI_through_LVT0 Cyrill Gorcunov
2008-07-24 11:53 ` [patch 0/2] x86 apic - a few function merge v2 Ingo Molnar
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.