1 #ifndef __OPENBMC_H__ 2 #define __OPENBMC_H__ 3 4 #include <stdint.h> 5 #include <stdio.h> 6 7 //select which dbus 8 #define DBUS_TYPE G_BUS_TYPE_SYSTEM 9 10 // Macros 11 #define GET_VARIANT(v) g_variant_get_variant(v) 12 #define GET_VARIANT_D(v) g_variant_get_double(g_variant_get_variant(v)) 13 #define GET_VARIANT_U(v) g_variant_get_uint32(g_variant_get_variant(v)) 14 #define GET_VARIANT_B(v) g_variant_get_byte(g_variant_get_variant(v)) 15 #define NEW_VARIANT_D(v) g_variant_new_variant(g_variant_new_double(v)) 16 #define NEW_VARIANT_U(v) g_variant_new_variant(g_variant_new_uint32(v)) 17 #define NEW_VARIANT_B(v) g_variant_new_variant(g_variant_new_byte(v)) 18 #define VARIANT_COMPARE(x,y) g_variant_compare(GET_VARIANT(x),GET_VARIANT(y)) 19 20 #ifdef __arm__ 21 static inline void devmem(void* addr, uint32_t val) 22 { 23 printf("devmem %p = 0x%08x\n",addr,val); 24 asm volatile("" : : : "memory"); 25 *(volatile uint32_t *)addr = val; 26 } 27 static inline uint32_t devmem_read(void* addr) 28 { 29 asm volatile("" : : : "memory"); 30 return *(volatile uint32_t *)addr; 31 } 32 //static inline devmem(uint32_t reg, uint32_t val) 33 //{ 34 // printf("devmem 0x%08x = 0x%08x\n",reg,val); 35 // //void* r = (void*)reg; 36 // write_reg(reg,val); 37 //} 38 #else 39 static inline void devmem(uint32_t val, uint32_t reg) 40 { 41 (void) val; 42 (void) reg; 43 } 44 static inline uint32_t devmem_read(void* addr) 45 { 46 (void) addr; 47 return 0; 48 } 49 50 #endif 51 52 typedef struct { 53 gint argc; 54 gchar **argv; 55 GMainLoop *loop; 56 gpointer user_data; 57 58 } cmdline; 59 60 61 62 #endif 63