Changeset 5159


Ignore:
Timestamp:
Feb 25, 2010, 1:40:49 PM (6 years ago)
Author:
stepan
Message:

HAVE_MOVNTI really means SSE2. Also add sfence in the MOVNTI case.

Signed-off-by: Stefan Reinauer <stepan@…>
Acked-by: Patrick Georgi <patrick.georgi@…>

Location:
trunk/src
Files:
15 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/Kconfig

    r5102 r5159  
    185185        default n
    186186
    187 config HAVE_MOVNTI
    188         bool
    189         default n
    190 
    191187config HAVE_OPTION_TABLE
    192188        bool
  • trunk/src/cpu/Kconfig

    r4850 r5159  
    3333          work correctly on symmetric multi processor (SMP) systems.
    3434
    35 # Set MMX and SSE in socket or model if the CPU has them.
    36 # If all CPUs for the socket have MMX or SSE, set them there.
    37 # These options are only needed for boards compiled with romcc.
    3835config  MMX
    3936        bool
     37        help
     38          Select MMX in your socket or model Kconfig if your CPU has MMX
     39          streaming SIMD instructions. ROMCC can build more efficient
     40          code if it can spill to MMX registers.
    4041
    4142config SSE
    4243        bool
     44        help
     45          Select SSE in your socket or model Kconfig if your CPU has SSE
     46          streaming SIMD instructions. ROMCC can build more efficient
     47          code if it can spill to SSE (aka XMM) registers.
     48
     49config SSE2
     50        bool
     51        help
     52          Select SSE2 in your socket or model Kconfig if your CPU has SSE2
     53          streaming SIMD instructions. Some parts of coreboot can be built
     54          with more efficient code if SSE2 instructions are available.
    4355
    4456config VAR_MTRR_HOLE
  • trunk/src/cpu/amd/model_10xxx/Kconfig

    r5000 r5159  
    11config CPU_AMD_MODEL_10XXX
    22        bool
    3         select HAVE_MOVNTI
    43        select USE_PRINTK_IN_CAR
    54        select USE_DCACHE_RAM
    65        select SSE
     6        select SSE2
    77        select HAVE_INIT_TIMER
    88
  • trunk/src/cpu/amd/model_fxx/Kconfig

    r5000 r5159  
    11config CPU_AMD_MODEL_FXX
    22        bool
    3         select HAVE_MOVNTI
    43        select USE_PRINTK_IN_CAR
    54        select USE_DCACHE_RAM
     5        select MMX
    66        select SSE
     7        select SSE2
    78        select HAVE_INIT_TIMER
    89
  • trunk/src/cpu/intel/model_1067x/Kconfig

    r4753 r5159  
    22        bool
    33        select SMP
    4         select HAVE_MOVNTI
     4        select SSE2
  • trunk/src/cpu/intel/model_106cx/Kconfig

    r4996 r5159  
    22        bool
    33        select SMP
    4         select HAVE_MOVNTI
     4        select SSE2
  • trunk/src/cpu/intel/model_6ex/Kconfig

    r4996 r5159  
    22        bool
    33        select SMP
    4         select HAVE_MOVNTI
     4        select SSE2
  • trunk/src/cpu/intel/model_6fx/Kconfig

    r4534 r5159  
    1 # select HAVE_MOVNTI
     1config CPU_INTEL_CORE2
     2        bool
     3        select SMP
     4        select SSE2
  • trunk/src/cpu/intel/model_f0x/Kconfig

    r4753 r5159  
    22        bool
    33        select SMP
    4         select HAVE_MOVNTI
     4        select SSE2
  • trunk/src/cpu/intel/model_f1x/Kconfig

    r4753 r5159  
    22        bool
    33        select SMP
    4         select HAVE_MOVNTI
     4        select SSE2
  • trunk/src/cpu/intel/model_f2x/Kconfig

    r4753 r5159  
    22        bool
    33        select SMP
    4         select HAVE_MOVNTI
     4        select SSE2
  • trunk/src/cpu/intel/model_f3x/Kconfig

    r4753 r5159  
    22        bool
    33        select SMP
    4         select HAVE_MOVNTI
     4        select SSE2
  • trunk/src/cpu/intel/model_f4x/Kconfig

    r4753 r5159  
    22        bool
    33        select SMP
    4         select HAVE_MOVNTI
     4        select SSE2
  • trunk/src/cpu/via/model_c7/Kconfig

    r4997 r5159  
    22        bool
    33        select UDELAY_TSC
     4        select SSE2
  • trunk/src/lib/ramtest.c

    r5136 r5159  
    11static void write_phys(unsigned long addr, unsigned long value)
    22{
    3 #if CONFIG_HAVE_MOVNTI
     3        // Assembler in lib/ is very ugly. But we properly guarded
     4        // it so let's obey this one for now
     5#if CONFIG_SSE2
    46        asm volatile(
    57                "movnti %1, (%0)"
     
    5153                write_phys(addr, addr);
    5254        };
     55#if CONFIG_SSE2
     56        // Needed for movnti
     57        asm volatile ("sfence" ::: "memory");
     58#endif
    5359        /* Display final address */
    5460#if CONFIG_USE_PRINTK_IN_CAR
Note: See TracChangeset for help on using the changeset viewer.