Subversion Repositories HelenOS-historic

Rev

Rev 173 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 173 Rev 191
Line 1... Line 1...
1
/*
1
/*
2
 * Copyright (C) 2005 Jakub Jermar
2
 * Copyright (C) 2005 Martin Decky
3
 * All rights reserved.
3
 * All rights reserved.
4
 *
4
 *
5
 * Redistribution and use in source and binary forms, with or without
5
 * Redistribution and use in source and binary forms, with or without
6
 * modification, are permitted provided that the following conditions
6
 * modification, are permitted provided that the following conditions
7
 * are met:
7
 * are met:
Line 30... Line 30...
30
#define __ppc_ASM_H__
30
#define __ppc_ASM_H__
31
 
31
 
32
#include <arch/types.h>
32
#include <arch/types.h>
33
#include <config.h>
33
#include <config.h>
34
 
34
 
-
 
35
/** Set priority level low
-
 
36
 *
-
 
37
 * Enable interrupts and return previous
-
 
38
 * value of EE.
-
 
39
 */
-
 
40
static inline pri_t cpu_priority_low(void) {
-
 
41
    pri_t v;
-
 
42
    __asm__ volatile (
-
 
43
        "\n"
-
 
44
        : "=r" (v)
-
 
45
    );
-
 
46
    return v;
-
 
47
}
-
 
48
 
-
 
49
/** Set priority level high
-
 
50
 *
-
 
51
 * Disable interrupts and return previous
-
 
52
 * value of EE.
-
 
53
 */
-
 
54
static inline pri_t cpu_priority_high(void) {
-
 
55
    pri_t v;
-
 
56
    __asm__ volatile (
-
 
57
        "\n"
-
 
58
        : "=r" (v)
-
 
59
    );
-
 
60
    return v;
-
 
61
}
-
 
62
 
-
 
63
/** Restore priority level
-
 
64
 *
-
 
65
 * Restore EE.
-
 
66
 */
-
 
67
static inline void cpu_priority_restore(pri_t pri) {
-
 
68
    __asm__ volatile (
-
 
69
        "\n"
-
 
70
        : : "r" (pri)
-
 
71
    );
-
 
72
}
-
 
73
 
35
/* TODO: implement the real stuff */
74
/* TODO: implement the real stuff */
36
static inline __address get_stack_base(void)
75
static inline __address get_stack_base(void)
37
{
76
{
38
    return NULL;
77
    return NULL;
39
}
78
}