Ignore:
File:
1 edited

Legend:

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

    r3d6beaa rd99c1d2  
    3838
    3939#include <arch/pm.h>
    40 #include <arch/cpu.h>
    4140#include <typedefs.h>
    4241#include <config.h>
     
    300299}
    301300
    302 /** Check interrupts state.
    303  *
    304  * @return True if interrupts are disabled.
    305  *
    306  */
    307 static inline bool interrupts_disabled(void)
    308 {
    309         ipl_t v;
    310        
    311         asm volatile (
    312                 "pushf\n"
    313                 "popl %[v]\n"
    314                 : [v] "=r" (v)
    315         );
    316        
    317         return ((v & EFLAGS_IF) == 0);
    318 }
    319 
    320301/** Write to MSR */
    321302static inline void write_msr(uint32_t msr, uint64_t value)
     
    362343}
    363344
     345/** Return current IP address */
     346static inline uintptr_t * get_ip()
     347{
     348        uintptr_t *ip;
     349       
     350        asm volatile (
     351                "mov %%eip, %[ip]"
     352                : [ip] "=r" (ip)
     353        );
     354       
     355        return ip;
     356}
     357
    364358/** Invalidate TLB Entry.
    365359 *
Note: See TracChangeset for help on using the changeset viewer.