changed names of internal macros

This commit is contained in:
Thomas Doerfler
2008-07-10 06:43:45 +00:00
parent 780428fb9d
commit 3128276784

View File

@@ -252,6 +252,12 @@ static inline void ppc_set_machine_state_register( uint32_t msr)
); );
} }
/**
* @brief Enables external exceptions.
*
* You can use this function to enable the external exceptions and restore the
* machine state with ppc_external_exceptions_disable() later.
*/
static inline uint32_t ppc_external_exceptions_enable() static inline uint32_t ppc_external_exceptions_enable()
{ {
uint32_t current_msr; uint32_t current_msr;
@@ -269,6 +275,11 @@ static inline uint32_t ppc_external_exceptions_enable()
return current_msr; return current_msr;
} }
/**
* @brief Restores machine state.
*
* @see ppc_external_exceptions_enable()
*/
static inline void ppc_external_exceptions_disable( uint32_t msr) static inline void ppc_external_exceptions_disable( uint32_t msr)
{ {
ppc_set_machine_state_register( msr); ppc_set_machine_state_register( msr);
@@ -290,7 +301,9 @@ static inline void ppc_set_decrementer_register( uint32_t dec)
PPC_Set_decrementer( dec); PPC_Set_decrementer( dec);
} }
#define PPC_RETURN_SPECIAL_PURPOSE_REGISTER( spr) \ /* Do not use the following macros. Use the inline functions instead. */
#define PPC_INTERNAL_MACRO_RETURN_SPECIAL_PURPOSE_REGISTER( spr) \
uint32_t val; \ uint32_t val; \
asm volatile ( \ asm volatile ( \
"mfspr %0, " #spr \ "mfspr %0, " #spr \
@@ -298,157 +311,157 @@ static inline void ppc_set_decrementer_register( uint32_t dec)
); \ ); \
return val; return val;
#define PPC_RETURN_SPECIAL_PURPOSE_REGISTER_EXPAND( spr) \ #define PPC_INTERNAL_MACRO_RETURN_SPECIAL_PURPOSE_REGISTER_EXPAND( spr) \
PPC_RETURN_SPECIAL_PURPOSE_REGISTER( spr) PPC_INTERNAL_MACRO_RETURN_SPECIAL_PURPOSE_REGISTER( spr)
#define PPC_SET_SPECIAL_PURPOSE_REGISTER( spr, val) \ #define PPC_INTERNAL_MACRO_SET_SPECIAL_PURPOSE_REGISTER( spr, val) \
asm volatile ( \ asm volatile ( \
"mtspr " #spr ", %0" \ "mtspr " #spr ", %0" \
: \ : \
: "r" (val) \ : "r" (val) \
); );
#define PPC_SET_SPECIAL_PURPOSE_REGISTER_EXPAND( spr, val) \ #define PPC_INTERNAL_MACRO_SET_SPECIAL_PURPOSE_REGISTER_EXPAND( spr, val) \
PPC_SET_SPECIAL_PURPOSE_REGISTER( spr, val) PPC_INTERNAL_MACRO_SET_SPECIAL_PURPOSE_REGISTER( spr, val)
static inline uint32_t ppc_special_purpose_register_0() static inline uint32_t ppc_special_purpose_register_0()
{ {
PPC_RETURN_SPECIAL_PURPOSE_REGISTER_EXPAND( SPRG0); PPC_INTERNAL_MACRO_RETURN_SPECIAL_PURPOSE_REGISTER_EXPAND( SPRG0);
} }
static inline void ppc_set_special_purpose_register_0( uint32_t val) static inline void ppc_set_special_purpose_register_0( uint32_t val)
{ {
PPC_SET_SPECIAL_PURPOSE_REGISTER_EXPAND( SPRG0, val); PPC_INTERNAL_MACRO_SET_SPECIAL_PURPOSE_REGISTER_EXPAND( SPRG0, val);
} }
static inline uint32_t ppc_special_purpose_register_1() static inline uint32_t ppc_special_purpose_register_1()
{ {
PPC_RETURN_SPECIAL_PURPOSE_REGISTER_EXPAND( SPRG1); PPC_INTERNAL_MACRO_RETURN_SPECIAL_PURPOSE_REGISTER_EXPAND( SPRG1);
} }
static inline void ppc_set_special_purpose_register_1( uint32_t val) static inline void ppc_set_special_purpose_register_1( uint32_t val)
{ {
PPC_SET_SPECIAL_PURPOSE_REGISTER_EXPAND( SPRG1, val); PPC_INTERNAL_MACRO_SET_SPECIAL_PURPOSE_REGISTER_EXPAND( SPRG1, val);
} }
static inline uint32_t ppc_special_purpose_register_2() static inline uint32_t ppc_special_purpose_register_2()
{ {
PPC_RETURN_SPECIAL_PURPOSE_REGISTER_EXPAND( SPRG2); PPC_INTERNAL_MACRO_RETURN_SPECIAL_PURPOSE_REGISTER_EXPAND( SPRG2);
} }
static inline void ppc_set_special_purpose_register_2( uint32_t val) static inline void ppc_set_special_purpose_register_2( uint32_t val)
{ {
PPC_SET_SPECIAL_PURPOSE_REGISTER_EXPAND( SPRG2, val); PPC_INTERNAL_MACRO_SET_SPECIAL_PURPOSE_REGISTER_EXPAND( SPRG2, val);
} }
static inline uint32_t ppc_special_purpose_register_3() static inline uint32_t ppc_special_purpose_register_3()
{ {
PPC_RETURN_SPECIAL_PURPOSE_REGISTER_EXPAND( SPRG3); PPC_INTERNAL_MACRO_RETURN_SPECIAL_PURPOSE_REGISTER_EXPAND( SPRG3);
} }
static inline void ppc_set_special_purpose_register_3( uint32_t val) static inline void ppc_set_special_purpose_register_3( uint32_t val)
{ {
PPC_SET_SPECIAL_PURPOSE_REGISTER_EXPAND( SPRG3, val); PPC_INTERNAL_MACRO_SET_SPECIAL_PURPOSE_REGISTER_EXPAND( SPRG3, val);
} }
static inline uint32_t ppc_special_purpose_register_4() static inline uint32_t ppc_special_purpose_register_4()
{ {
PPC_RETURN_SPECIAL_PURPOSE_REGISTER_EXPAND( SPRG4); PPC_INTERNAL_MACRO_RETURN_SPECIAL_PURPOSE_REGISTER_EXPAND( SPRG4);
} }
static inline void ppc_set_special_purpose_register_4( uint32_t val) static inline void ppc_set_special_purpose_register_4( uint32_t val)
{ {
PPC_SET_SPECIAL_PURPOSE_REGISTER_EXPAND( SPRG4, val); PPC_INTERNAL_MACRO_SET_SPECIAL_PURPOSE_REGISTER_EXPAND( SPRG4, val);
} }
static inline uint32_t ppc_special_purpose_register_5() static inline uint32_t ppc_special_purpose_register_5()
{ {
PPC_RETURN_SPECIAL_PURPOSE_REGISTER_EXPAND( SPRG5); PPC_INTERNAL_MACRO_RETURN_SPECIAL_PURPOSE_REGISTER_EXPAND( SPRG5);
} }
static inline void ppc_set_special_purpose_register_5( uint32_t val) static inline void ppc_set_special_purpose_register_5( uint32_t val)
{ {
PPC_SET_SPECIAL_PURPOSE_REGISTER_EXPAND( SPRG5, val); PPC_INTERNAL_MACRO_SET_SPECIAL_PURPOSE_REGISTER_EXPAND( SPRG5, val);
} }
static inline uint32_t ppc_special_purpose_register_6() static inline uint32_t ppc_special_purpose_register_6()
{ {
PPC_RETURN_SPECIAL_PURPOSE_REGISTER_EXPAND( SPRG6); PPC_INTERNAL_MACRO_RETURN_SPECIAL_PURPOSE_REGISTER_EXPAND( SPRG6);
} }
static inline void ppc_set_special_purpose_register_6( uint32_t val) static inline void ppc_set_special_purpose_register_6( uint32_t val)
{ {
PPC_SET_SPECIAL_PURPOSE_REGISTER_EXPAND( SPRG6, val); PPC_INTERNAL_MACRO_SET_SPECIAL_PURPOSE_REGISTER_EXPAND( SPRG6, val);
} }
static inline uint32_t ppc_special_purpose_register_7() static inline uint32_t ppc_special_purpose_register_7()
{ {
PPC_RETURN_SPECIAL_PURPOSE_REGISTER_EXPAND( SPRG7); PPC_INTERNAL_MACRO_RETURN_SPECIAL_PURPOSE_REGISTER_EXPAND( SPRG7);
} }
static inline void ppc_set_special_purpose_register_7( uint32_t val) static inline void ppc_set_special_purpose_register_7( uint32_t val)
{ {
PPC_SET_SPECIAL_PURPOSE_REGISTER_EXPAND( SPRG7, val); PPC_INTERNAL_MACRO_SET_SPECIAL_PURPOSE_REGISTER_EXPAND( SPRG7, val);
} }
static inline uint32_t ppc_user_special_purpose_register_0() static inline uint32_t ppc_user_special_purpose_register_0()
{ {
PPC_RETURN_SPECIAL_PURPOSE_REGISTER_EXPAND( USPRG0); PPC_INTERNAL_MACRO_RETURN_SPECIAL_PURPOSE_REGISTER_EXPAND( USPRG0);
} }
static inline void ppc_set_user_special_purpose_register_0( uint32_t val) static inline void ppc_set_user_special_purpose_register_0( uint32_t val)
{ {
PPC_SET_SPECIAL_PURPOSE_REGISTER_EXPAND( USPRG0, val); PPC_INTERNAL_MACRO_SET_SPECIAL_PURPOSE_REGISTER_EXPAND( USPRG0, val);
} }
static inline uint32_t ppc_timer_control_register() static inline uint32_t ppc_timer_control_register()
{ {
PPC_RETURN_SPECIAL_PURPOSE_REGISTER_EXPAND( BOOKE_TCR); PPC_INTERNAL_MACRO_RETURN_SPECIAL_PURPOSE_REGISTER_EXPAND( BOOKE_TCR);
} }
static inline void ppc_set_timer_control_register( uint32_t val) static inline void ppc_set_timer_control_register( uint32_t val)
{ {
PPC_SET_SPECIAL_PURPOSE_REGISTER_EXPAND( BOOKE_TCR, val); PPC_INTERNAL_MACRO_SET_SPECIAL_PURPOSE_REGISTER_EXPAND( BOOKE_TCR, val);
} }
static inline uint32_t ppc_timer_status_register() static inline uint32_t ppc_timer_status_register()
{ {
PPC_RETURN_SPECIAL_PURPOSE_REGISTER_EXPAND( BOOKE_TSR); PPC_INTERNAL_MACRO_RETURN_SPECIAL_PURPOSE_REGISTER_EXPAND( BOOKE_TSR);
} }
static inline void ppc_set_timer_status_register( uint32_t val) static inline void ppc_set_timer_status_register( uint32_t val)
{ {
PPC_SET_SPECIAL_PURPOSE_REGISTER_EXPAND( BOOKE_TSR, val); PPC_INTERNAL_MACRO_SET_SPECIAL_PURPOSE_REGISTER_EXPAND( BOOKE_TSR, val);
} }
static inline uint32_t ppc_decrementer_auto_reload_register() static inline uint32_t ppc_decrementer_auto_reload_register()
{ {
PPC_RETURN_SPECIAL_PURPOSE_REGISTER_EXPAND( BOOKE_DECAR); PPC_INTERNAL_MACRO_RETURN_SPECIAL_PURPOSE_REGISTER_EXPAND( BOOKE_DECAR);
} }
static inline void ppc_set_decrementer_auto_reload_register( uint32_t val) static inline void ppc_set_decrementer_auto_reload_register( uint32_t val)
{ {
PPC_SET_SPECIAL_PURPOSE_REGISTER_EXPAND( BOOKE_DECAR, val); PPC_INTERNAL_MACRO_SET_SPECIAL_PURPOSE_REGISTER_EXPAND( BOOKE_DECAR, val);
} }
static inline uint32_t ppc_hardware_implementation_dependent_register_0() static inline uint32_t ppc_hardware_implementation_dependent_register_0()
{ {
PPC_RETURN_SPECIAL_PURPOSE_REGISTER_EXPAND( HID0); PPC_INTERNAL_MACRO_RETURN_SPECIAL_PURPOSE_REGISTER_EXPAND( HID0);
} }
static inline void ppc_set_hardware_implementation_dependent_register_0( uint32_t val) static inline void ppc_set_hardware_implementation_dependent_register_0( uint32_t val)
{ {
PPC_SET_SPECIAL_PURPOSE_REGISTER_EXPAND( HID0, val); PPC_INTERNAL_MACRO_SET_SPECIAL_PURPOSE_REGISTER_EXPAND( HID0, val);
} }
static inline uint32_t ppc_hardware_implementation_dependent_register_1() static inline uint32_t ppc_hardware_implementation_dependent_register_1()
{ {
PPC_RETURN_SPECIAL_PURPOSE_REGISTER_EXPAND( HID1); PPC_INTERNAL_MACRO_RETURN_SPECIAL_PURPOSE_REGISTER_EXPAND( HID1);
} }
static inline void ppc_set_hardware_implementation_dependent_register_1( uint32_t val) static inline void ppc_set_hardware_implementation_dependent_register_1( uint32_t val)
{ {
PPC_SET_SPECIAL_PURPOSE_REGISTER_EXPAND( HID1, val); PPC_INTERNAL_MACRO_SET_SPECIAL_PURPOSE_REGISTER_EXPAND( HID1, val);
} }
static inline uint32_t ppc_time_base() static inline uint32_t ppc_time_base()
@@ -462,17 +475,17 @@ static inline uint32_t ppc_time_base()
static inline void ppc_set_time_base( uint32_t val) static inline void ppc_set_time_base( uint32_t val)
{ {
PPC_SET_SPECIAL_PURPOSE_REGISTER_EXPAND( TBWL, val); PPC_INTERNAL_MACRO_SET_SPECIAL_PURPOSE_REGISTER_EXPAND( TBWL, val);
} }
static inline uint32_t ppc_time_base_upper() static inline uint32_t ppc_time_base_upper()
{ {
PPC_RETURN_SPECIAL_PURPOSE_REGISTER_EXPAND( TBRU); PPC_INTERNAL_MACRO_RETURN_SPECIAL_PURPOSE_REGISTER_EXPAND( TBRU);
} }
static inline void ppc_set_time_base_upper( uint32_t val) static inline void ppc_set_time_base_upper( uint32_t val)
{ {
PPC_SET_SPECIAL_PURPOSE_REGISTER_EXPAND( TBWU, val); PPC_INTERNAL_MACRO_SET_SPECIAL_PURPOSE_REGISTER_EXPAND( TBWU, val);
} }
static inline uint64_t ppc_time_base_64() static inline uint64_t ppc_time_base_64()