Re: [U-Boot] [PATCH 8/9] x86: Clean up lapic codes

2015-06-11 Thread Simon Glass
On 9 June 2015 at 01:45, Bin Meng bmeng...@gmail.com wrote:
 This commit cleans up the lapic codes:
 - Delete arch/x86/include/asm/lapic_def.h, and move register and bit
   defines into arch/x86/include/asm/lapic.h
 - Use MSR defines from msr-index.h in enable_lapic() and disable_lapic()
 - Remove unnecessary stuff like NEED_LAPIC, X86_GOOD_APIC and
   CONFIG_AP_IN_SIPI_WAIT
 - Move struct x86_cpu_priv defines to asm/arch-ivybridge/bd82x6x.h, as
   it is not apic related and only used by ivybridge
 - Fix coding convention issues

 Signed-off-by: Bin Meng bmeng...@gmail.com
 ---

  arch/x86/cpu/ivybridge/model_206ax.c  |   2 +-
  arch/x86/cpu/lapic.c  |  38 
  arch/x86/include/asm/arch-ivybridge/bd82x6x.h |  14 ++-
  arch/x86/include/asm/lapic.h  | 131 
 ++
  arch/x86/include/asm/lapic_def.h  | 101 
  5 files changed, 103 insertions(+), 183 deletions(-)
  delete mode 100644 arch/x86/include/asm/lapic_def.h

Acked-by: Simon Glass s...@chromium.org
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


[U-Boot] [PATCH 8/9] x86: Clean up lapic codes

2015-06-09 Thread Bin Meng
This commit cleans up the lapic codes:
- Delete arch/x86/include/asm/lapic_def.h, and move register and bit
  defines into arch/x86/include/asm/lapic.h
- Use MSR defines from msr-index.h in enable_lapic() and disable_lapic()
- Remove unnecessary stuff like NEED_LAPIC, X86_GOOD_APIC and
  CONFIG_AP_IN_SIPI_WAIT
- Move struct x86_cpu_priv defines to asm/arch-ivybridge/bd82x6x.h, as
  it is not apic related and only used by ivybridge
- Fix coding convention issues

Signed-off-by: Bin Meng bmeng...@gmail.com
---

 arch/x86/cpu/ivybridge/model_206ax.c  |   2 +-
 arch/x86/cpu/lapic.c  |  38 
 arch/x86/include/asm/arch-ivybridge/bd82x6x.h |  14 ++-
 arch/x86/include/asm/lapic.h  | 131 ++
 arch/x86/include/asm/lapic_def.h  | 101 
 5 files changed, 103 insertions(+), 183 deletions(-)
 delete mode 100644 arch/x86/include/asm/lapic_def.h

diff --git a/arch/x86/cpu/ivybridge/model_206ax.c 
b/arch/x86/cpu/ivybridge/model_206ax.c
index 8b08c40..fd7db97 100644
--- a/arch/x86/cpu/ivybridge/model_206ax.c
+++ b/arch/x86/cpu/ivybridge/model_206ax.c
@@ -13,12 +13,12 @@
 #include asm/acpi.h
 #include asm/cpu.h
 #include asm/lapic.h
-#include asm/lapic_def.h
 #include asm/msr.h
 #include asm/mtrr.h
 #include asm/processor.h
 #include asm/speedstep.h
 #include asm/turbo.h
+#include asm/arch/bd82x6x.h
 #include asm/arch/model_206ax.h
 
 static void enable_vmx(void)
diff --git a/arch/x86/cpu/lapic.c b/arch/x86/cpu/lapic.c
index 4690603..6769ae5 100644
--- a/arch/x86/cpu/lapic.c
+++ b/arch/x86/cpu/lapic.c
@@ -8,50 +8,46 @@
  */
 
 #include common.h
-#include asm/msr.h
-#include asm/io.h
 #include asm/lapic.h
 #include asm/post.h
 
 void lapic_setup(void)
 {
-#if NEED_LAPIC == 1
+#ifdef CONFIG_SMP
/* Only Pentium Pro and later have those MSR stuff */
debug(Setting up local apic: );
 
/* Enable the local apic */
enable_lapic();
 
-   /*
-* Set Task Priority to 'accept all'.
-*/
+   /* Set Task Priority to 'accept all' */
lapic_write_around(LAPIC_TASKPRI,
   lapic_read_around(LAPIC_TASKPRI)  ~LAPIC_TPRI_MASK);
 
/* Put the local apic in virtual wire mode */
lapic_write_around(LAPIC_SPIV, (lapic_read_around(LAPIC_SPIV) 
-   ~(LAPIC_VECTOR_MASK)) | LAPIC_SPIV_ENABLE);
+  ~(LAPIC_VECTOR_MASK)) | LAPIC_SPIV_ENABLE);
lapic_write_around(LAPIC_LVT0, (lapic_read_around(LAPIC_LVT0) 
-   ~(LAPIC_LVT_MASKED | LAPIC_LVT_LEVEL_TRIGGER |
- LAPIC_LVT_REMOTE_IRR | LAPIC_INPUT_POLARITY |
- LAPIC_SEND_PENDING | LAPIC_LVT_RESERVED_1 |
- LAPIC_DELIVERY_MODE_MASK)) |
-   (LAPIC_LVT_REMOTE_IRR | LAPIC_SEND_PENDING |
-LAPIC_DELIVERY_MODE_EXTINT));
+  ~(LAPIC_LVT_MASKED | LAPIC_LVT_LEVEL_TRIGGER |
+  LAPIC_LVT_REMOTE_IRR | LAPIC_INPUT_POLARITY |
+  LAPIC_SEND_PENDING | LAPIC_LVT_RESERVED_1 |
+  LAPIC_DELIVERY_MODE_MASK)) |
+  (LAPIC_LVT_REMOTE_IRR | LAPIC_SEND_PENDING |
+  LAPIC_DELIVERY_MODE_EXTINT));
lapic_write_around(LAPIC_LVT1, (lapic_read_around(LAPIC_LVT1) 
-   ~(LAPIC_LVT_MASKED | LAPIC_LVT_LEVEL_TRIGGER |
- LAPIC_LVT_REMOTE_IRR | LAPIC_INPUT_POLARITY |
- LAPIC_SEND_PENDING | LAPIC_LVT_RESERVED_1 |
- LAPIC_DELIVERY_MODE_MASK)) |
-   (LAPIC_LVT_REMOTE_IRR | LAPIC_SEND_PENDING |
-   LAPIC_DELIVERY_MODE_NMI));
+  ~(LAPIC_LVT_MASKED | LAPIC_LVT_LEVEL_TRIGGER |
+  LAPIC_LVT_REMOTE_IRR | LAPIC_INPUT_POLARITY |
+  LAPIC_SEND_PENDING | LAPIC_LVT_RESERVED_1 |
+  LAPIC_DELIVERY_MODE_MASK)) |
+  (LAPIC_LVT_REMOTE_IRR | LAPIC_SEND_PENDING |
+  LAPIC_DELIVERY_MODE_NMI));
 
debug(apic_id: 0x%02lx, , lapicid());
-#else /* !NEED_LLAPIC */
+#else /* !CONFIG_SMP */
/* Only Pentium Pro and later have those MSR stuff */
debug(Disabling local apic: );
disable_lapic();
-#endif /* !NEED_LAPIC */
+#endif /* CONFIG_SMP */
debug(done.\n);
post_code(POST_LAPIC);
 }
diff --git a/arch/x86/include/asm/arch-ivybridge/bd82x6x.h 
b/arch/x86/include/asm/arch-ivybridge/bd82x6x.h
index 5ae32f7..7786493 100644
--- a/arch/x86/include/asm/arch-ivybridge/bd82x6x.h
+++ b/arch/x86/include/asm/arch-ivybridge/bd82x6x.h
@@ -16,7 +16,19 @@ int gma_func0_init(pci_dev_t dev, struct pci_controller 
*hose,
   const void *blob, int node);
 int bd82x6x_init(void);
 
-struct x86_cpu_priv;
+/**
+ * struct x86_cpu_priv -