All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
macros-parisc.h
/* -*- mode: c++; indent-tabs-mode: nil -*- */
#ifndef _QORE_MACHINE_MACROS_H
#define _QORE_MACHINE_MACROS_H
// we don't have code for 64-bit pa-risc yet
#if !defined(__LP64__)
#define STACK_DIRECTION_UP 1
#ifdef __GNUC__
/*
#define HAVE_ATOMIC_MACROS
static inline int atomic_dec(int *pw) {
}
static inline void atomic_inc(int *pw) {
}
*/
#define HAVE_CHECK_STACK_POS
static inline size_t get_stack_pos() {
size_t addr;
__asm__("copy %%sp,%0" : "=r" (addr) );
return addr;
}
#endif
#ifdef __HP_aCC
//#define HAVE_ATOMIC_MACROS
// routines are implemented in assembler
//extern "C" int atomic_dec(int *pw);
//extern "C" void atomic_inc(int *pw);
#define HAVE_CHECK_STACK_POS
extern "C" size_t get_stack_pos();
#endif
#endif
#endif