Skip to content
  • David Brownell's avatar
    ARMv7-M: start using "struct arm" · ce1feaa7
    David Brownell authored
    
    
    This sets up a few of the core "struct arm" data structures so they
    can be used with ARMv7-M cores.  Specifically, it:
    
     - defines new ARM core_modes to match the microcontroller modes
       (e.g. HANDLER not IRQ, and two types of thread mode);
    
     - Establishes a new microcontroller "core_type", which can be
       used to make sure v7-M (and v6-M) cores are handled right;
    
     - adds "struct arm" to "struct armv7m" and arranges for the
       target_to_armv7m() converter to use it;
    
     - sets up the arm.core_cache and arm.cpsr values
    
     - makes the Cortex-M3 code maintain arm.map and arm.core_mode.
    
    This is currently set up as a parallel data structure, primarily to
    minimize special cases for the semihosting support with microcontroller
    profile cores.
    
    Later patches can rip out the duplicative ARMv7-M support and start
    reusing core ARM code.
    
    Signed-off-by: default avatarDavid Brownell <dbrownell@users.sourceforge.net>
    ce1feaa7