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 uint32_t devmem(uint32_t val, uint32_t reg) 40 { 41 } 42 static inline uint32_t devmem_read(void* addr) 43 { 44 return 0; 45 } 46 47 #endif 48 49 typedef struct { 50 gint argc; 51 gchar **argv; 52 GMainLoop *loop; 53 gpointer user_data; 54 55 } cmdline; 56 57 58 59 #endif 60