[BACK]Return to platform.h CVS log [TXT][DIR] Up to [local] / prex-old / sys / arch / i386 / pc

Diff for /prex-old/sys/arch/i386/pc/platform.h between version 1.1.1.1 and 1.1.1.1.2.1

version 1.1.1.1, 2008/06/03 10:38:45 version 1.1.1.1.2.1, 2008/08/13 17:12:30
Line 65 
Line 65 
 /*  /*
  * Page mapping   * Page mapping
  */   */
 #define phys_to_virt(p_addr)    (void *)((u_long)(p_addr) + PAGE_OFFSET)  #define phys_to_virt(pa)        (void *)((paddr_t)(pa) + PAGE_OFFSET)
 #define virt_to_phys(v_addr)    (void *)((u_long)(v_addr) - PAGE_OFFSET)  #define virt_to_phys(va)        (void *)((vaddr_t)(va) - PAGE_OFFSET)
   
 /*  /*
  * Kernel/User Locations   * Kernel/User Locations
Line 74 
Line 74 
 #if KERNEL_BASE == 0  #if KERNEL_BASE == 0
 #define kern_area(addr)         1  #define kern_area(addr)         1
 #else  #else
 #define kern_area(addr)         ((u_long)(addr) >= (u_long)KERNEL_BASE)  #define kern_area(addr)         ((vaddr_t)(addr) >= (vaddr_t)KERNEL_BASE)
 #endif  #endif
 #define user_area(addr)         ((u_long)(addr) < (u_long)USER_MAX)  #define user_area(addr)         ((vaddr_t)(addr) < (vaddr_t)USER_MAX)
   
 /*  /*
  * Interrupt   * Interrupt
  */   */
 #define NIRQS           16              /* number of interrupt vectors */  #define NIRQS           16              /* number of interrupt vectors */
   
 #define interrupt_enable()      __asm__ __volatile__("sti"::)  extern void interrupt_enable(void);
 #define interrupt_disable()     __asm__ __volatile__("cli"::)  extern void interrupt_disable(void);
   extern void interrupt_save(int *);
 static __inline void  extern void interrupt_restore(int);
 interrupt_save(int *sts)  
 {  
         register u_long eflags;  
         __asm__ __volatile__(  
                 "pushfl\n\t"  
                 "popl %0\n\t"  
                 :"=r" (eflags));  
         *sts = (int)(eflags & 0x200);  
 }  
   
 static __inline void  
 interrupt_restore(int sts)  
 {  
         __asm__ __volatile__(  
                 "pushfl\n\t"  
                 "popl %%eax\n\t"  
                 "andl $0xfffffdff, %%eax\n\t"  
                 "orl %0, %%eax\n\t"  
                 "pushl %%eax\n\t"  
                 "popfl\n\t"  
                 :  
                 :"r" (sts)  
                 :"eax");  
 }  
   
 extern void interrupt_mask(int);  extern void interrupt_mask(int);
 extern void interrupt_unmask(int, int);  extern void interrupt_unmask(int, int);
 extern void interrupt_setup(int, int);  extern void interrupt_setup(int, int);
   extern void interrupt_handler(struct cpu_regs *);
 extern void interrupt_init(void);  extern void interrupt_init(void);
   
 /* Interrupt mode for interrupt_setup() */  /* Interrupt mode for interrupt_setup() */
Line 126 
Line 102 
 extern void diag_init(void);  extern void diag_init(void);
 extern void diag_print(char *);  extern void diag_print(char *);
   
 #define machine_idle()  __asm__ __volatile__("sti; hlt")  
 extern void machine_reset(void);  extern void machine_reset(void);
 extern void machine_init(void);  extern void machine_init(void);
   extern void machine_idle(void);
   
 #endif /* !__ASSEMBLY__ */  #endif /* !__ASSEMBLY__ */
 #endif /* !_PC_PLATFORM_H */  #endif /* !_PC_PLATFORM_H */

Legend:
Removed from v.1.1.1.1  
changed lines
  Added in v.1.1.1.1.2.1

CVSweb