lkml.org 
[lkml]   [2008]   [Apr]   [5]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
Subject[patch 7/9] use BUILD_BUG_ON() for the size of struct intel_mp_floating
Use BUILD_BUG_ON() rather than runtime diagnosis (in i386)
or compile-time error technology with extern non-exsistent function
(in x86_64)

Signed-off-by: Akinobu Mita <akinobu.mita@gmail.com>
---
arch/x86/kernel/mpparse_32.c | 7 +++----
arch/x86/kernel/mpparse_64.c | 8 +++-----
2 files changed, 6 insertions(+), 9 deletions(-)

Index: 2.6-git/arch/x86/kernel/mpparse_32.c
===================================================================
--- 2.6-git.orig/arch/x86/kernel/mpparse_32.c
+++ 2.6-git/arch/x86/kernel/mpparse_32.c
@@ -716,14 +716,13 @@ void __init get_smp_config (void)
*/
}

-static int __init smp_scan_config (unsigned long base, unsigned long length)
+static int __init smp_scan_config(unsigned long base, unsigned long length)
{
unsigned long *bp = phys_to_virt(base);
struct intel_mp_floating *mpf;

- printk(KERN_INFO "Scan SMP from %p for %ld bytes.\n", bp,length);
- if (sizeof(*mpf) != 16)
- printk("Error: MPF size\n");
+ printk(KERN_INFO "Scan SMP from %p for %ld bytes.\n", bp, length);
+ BUILD_BUG_ON(sizeof(*mpf) != 16);

while (length > 0) {
mpf = (struct intel_mp_floating *)bp;
Index: 2.6-git/arch/x86/kernel/mpparse_64.c
===================================================================
--- 2.6-git.orig/arch/x86/kernel/mpparse_64.c
+++ 2.6-git/arch/x86/kernel/mpparse_64.c
@@ -534,15 +534,13 @@ void __init get_smp_config (void)
*/
}

-static int __init smp_scan_config (unsigned long base, unsigned long length)
+static int __init smp_scan_config(unsigned long base, unsigned long length)
{
- extern void __bad_mpf_size(void);
unsigned int *bp = phys_to_virt(base);
struct intel_mp_floating *mpf;

- Dprintk("Scan SMP from %p for %ld bytes.\n", bp,length);
- if (sizeof(*mpf) != 16)
- __bad_mpf_size();
+ Dprintk("Scan SMP from %p for %ld bytes.\n", bp, length);
+ BUILD_BUG_ON(sizeof(*mpf) != 16);

while (length > 0) {
mpf = (struct intel_mp_floating *)bp;
--


\
 
 \ /
  Last update: 2008-04-05 15:55    [W:0.047 / U:0.132 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site