Changeset 7a0359b in mainline for kernel/arch/ppc32/include/asm.h


Ignore:
Timestamp:
2010-07-02T15:42:19Z (14 years ago)
Author:
Martin Decky <martin@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
bbfdf62
Parents:
e3ee9b9
Message:

improve kernel function tracing

  • add support for more generic kernel sources
  • replace attribute((no_instrument_function)) with NO_TRACE macro (shorter and for future compatibility with different compilers)
  • to be on the safe side, do not instrument most of the inline and static functions (plus some specific non-static functions)

collateral code cleanup (no change in functionality)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • kernel/arch/ppc32/include/asm.h

    re3ee9b9 r7a0359b  
    4040#include <arch/cpu.h>
    4141#include <arch/mm/asid.h>
    42 
    43 static inline uint32_t msr_read(void)
     42#include <trace.h>
     43
     44NO_TRACE static inline uint32_t msr_read(void)
    4445{
    4546        uint32_t msr;
     
    5354}
    5455
    55 static inline void msr_write(uint32_t msr)
     56NO_TRACE static inline void msr_write(uint32_t msr)
    5657{
    5758        asm volatile (
     
    6162}
    6263
    63 static inline void sr_set(uint32_t flags, asid_t asid, uint32_t sr)
     64NO_TRACE static inline void sr_set(uint32_t flags, asid_t asid, uint32_t sr)
    6465{
    6566        asm volatile (
     
    7071}
    7172
    72 static inline uint32_t sr_get(uint32_t vaddr)
     73NO_TRACE static inline uint32_t sr_get(uint32_t vaddr)
    7374{
    7475        uint32_t vsid;
     
    8384}
    8485
    85 static inline uint32_t sdr1_get(void)
     86NO_TRACE static inline uint32_t sdr1_get(void)
    8687{
    8788        uint32_t sdr1;
     
    103104 *
    104105 */
    105 static inline ipl_t interrupts_enable(void)
     106NO_TRACE static inline ipl_t interrupts_enable(void)
    106107{
    107108        ipl_t ipl = msr_read();
     
    118119 *
    119120 */
    120 static inline ipl_t interrupts_disable(void)
     121NO_TRACE static inline ipl_t interrupts_disable(void)
    121122{
    122123        ipl_t ipl = msr_read();
     
    132133 *
    133134 */
    134 static inline void interrupts_restore(ipl_t ipl)
     135NO_TRACE static inline void interrupts_restore(ipl_t ipl)
    135136{
    136137        msr_write((msr_read() & (~MSR_EE)) | (ipl & MSR_EE));
     
    144145 *
    145146 */
    146 static inline ipl_t interrupts_read(void)
     147NO_TRACE static inline ipl_t interrupts_read(void)
    147148{
    148149        return msr_read();
     
    154155 *
    155156 */
    156 static inline bool interrupts_disabled(void)
     157NO_TRACE static inline bool interrupts_disabled(void)
    157158{
    158159        return ((msr_read() & MSR_EE) == 0);
     
    166167 *
    167168 */
    168 static inline uintptr_t get_stack_base(void)
     169NO_TRACE static inline uintptr_t get_stack_base(void)
    169170{
    170171        uintptr_t base;
     
    179180}
    180181
    181 static inline void cpu_sleep(void)
    182 {
     182NO_TRACE static inline void cpu_sleep(void)
     183{
     184}
     185
     186NO_TRACE static inline void pio_write_8(ioport8_t *port, uint8_t v)
     187{
     188        *port = v;
     189}
     190
     191NO_TRACE static inline void pio_write_16(ioport16_t *port, uint16_t v)
     192{
     193        *port = v;
     194}
     195
     196NO_TRACE static inline void pio_write_32(ioport32_t *port, uint32_t v)
     197{
     198        *port = v;
     199}
     200
     201NO_TRACE static inline uint8_t pio_read_8(ioport8_t *port)
     202{
     203        return *port;
     204}
     205
     206NO_TRACE static inline uint16_t pio_read_16(ioport16_t *port)
     207{
     208        return *port;
     209}
     210
     211NO_TRACE static inline uint32_t pio_read_32(ioport32_t *port)
     212{
     213        return *port;
    183214}
    184215
     
    187218extern void userspace_asm(uintptr_t uspace_uarg, uintptr_t stack, uintptr_t entry);
    188219
    189 static inline void pio_write_8(ioport8_t *port, uint8_t v)
    190 {
    191         *port = v;
    192 }
    193 
    194 static inline void pio_write_16(ioport16_t *port, uint16_t v)
    195 {
    196         *port = v;
    197 }
    198 
    199 static inline void pio_write_32(ioport32_t *port, uint32_t v)
    200 {
    201         *port = v;
    202 }
    203 
    204 static inline uint8_t pio_read_8(ioport8_t *port)
    205 {
    206         return *port;
    207 }
    208 
    209 static inline uint16_t pio_read_16(ioport16_t *port)
    210 {
    211         return *port;
    212 }
    213 
    214 static inline uint32_t pio_read_32(ioport32_t *port)
    215 {
    216         return *port;
    217 }
    218 
    219220#endif
    220221
Note: See TracChangeset for help on using the changeset viewer.