#ifndef PPC_CONTEXT_H
#define PPC_CONTEXT_H

struct context {
#define SP_LOC(ctx) (&(ctx)->sp)
    unsigned long _sp;
    unsigned long return_addr;
    unsigned long sp;
    unsigned long pc;
    /* General registers */
    unsigned long regs[34];
#define REG_R3 3
#define REG_R4 7
#define REG_R5 8
#define REG_R6 9
#define REG_R7 10
    /* Flags */
    /* Optional stack contents */
    unsigned long param[0];
};

/* Create a new context in the given stack */
struct context *
init_context(uint8_t *stack, uint32_t stack_size, int num_param);

/* Switch context */
struct context *switch_to(struct context *);

/* Holds physical address of boot context */
extern unsigned long __boot_ctx;

/* This can always be safely used to refer to the boot context */
#define boot_ctx ((struct context *) phys_to_virt(__boot_ctx))

#endif /* PPC_CONTEXT_H */
