Subversion Repositories HelenOS-historic

Rev

Rev 1702 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 1702 Rev 1780
Line 38... Line 38...
38
#include <arch/types.h>
38
#include <arch/types.h>
39
#include <byteorder.h>
39
#include <byteorder.h>
40
 
40
 
41
#define BIG_ENDIAN
41
#define BIG_ENDIAN
42
 
42
 
43
static inline __u64 __u64_le2host(__u64 n)
43
static inline uint64_t uint64_t_le2host(uint64_t n)
44
{
44
{
45
    return __u64_byteorder_swap(n);
45
    return uint64_t_byteorder_swap(n);
46
}
46
}
47
 
47
 
48
 
48
 
49
/** Convert little-endian __native to host __native
49
/** Convert little-endian unative_t to host unative_t
50
 *
50
 *
51
 * Convert little-endian __native parameter to host endianess.
51
 * Convert little-endian unative_t parameter to host endianess.
52
 *
52
 *
53
 * @param n Little-endian __native argument.
53
 * @param n Little-endian unative_t argument.
54
 *
54
 *
55
 * @return Result in host endianess.
55
 * @return Result in host endianess.
56
 *
56
 *
57
 */
57
 */
58
static inline __native __native_le2host(__native n)
58
static inline unative_t unative_t_le2host(unative_t n)
59
{
59
{
60
    __address v;
60
    uintptr_t v;
61
   
61
   
62
    asm volatile (
62
    asm volatile (
63
        "lwbrx %0, %1, %2\n"
63
        "lwbrx %0, %1, %2\n"
64
        : "=r" (v)
64
        : "=r" (v)
65
        : "i" (0), "r" (&n)
65
        : "i" (0), "r" (&n)