ppc64
[Miscellanea]


Files

file  arch.h
file  arg.h
file  regname.h
file  asm.h
file  atomic.h
file  barrier.h
file  boot.h
file  byteorder.h
file  context.h
file  cpu.h
file  cpuid.h
file  elf.h
file  exception.h
file  faddr.h
file  fpu_context.h
file  memstr.h
file  types.h
file  cpu.c
file  ppc64.c

Data Structures

struct  utask_t
struct  taskmap_t
struct  memzone_t
struct  memmap_t
struct  screen_t
struct  bootinfo_t
struct  context
struct  cpu_arch
struct  cpu_info
struct  istate
struct  fpu_context
struct  pte_t

Defines

#define cr0   0
#define cr1   1
#define cr2   2
#define cr3   3
#define cr4   4
#define cr5   5
#define cr6   6
#define cr7   7
#define r0   0
#define r1   1
#define r2   2
#define r3   3
#define r4   4
#define r5   5
#define r6   6
#define r7   7
#define r8   8
#define r9   9
#define r10   10
#define r11   11
#define r12   12
#define r13   13
#define r14   14
#define r15   15
#define r16   16
#define r17   17
#define r18   18
#define r19   19
#define r20   20
#define r21   21
#define r22   22
#define r23   23
#define r24   24
#define r25   25
#define r26   26
#define r27   27
#define r28   28
#define r29   29
#define r30   30
#define r31   31
#define sp   1
#define fr0   0
#define fr1   1
#define fr2   2
#define fr3   3
#define fr4   4
#define fr5   5
#define fr6   6
#define fr7   7
#define fr8   8
#define fr9   9
#define fr10   10
#define fr11   11
#define fr12   12
#define fr13   13
#define fr14   14
#define fr15   15
#define fr16   16
#define fr17   17
#define fr18   18
#define fr19   19
#define fr20   20
#define fr21   21
#define fr22   22
#define fr23   23
#define fr24   24
#define fr25   25
#define fr26   26
#define fr27   27
#define fr28   28
#define fr29   29
#define fr30   30
#define fr31   31
#define vr0   0
#define vr1   1
#define vr2   2
#define vr3   3
#define vr4   4
#define vr5   5
#define vr6   6
#define vr7   7
#define vr8   8
#define vr9   9
#define vr10   10
#define vr11   11
#define vr12   12
#define vr13   13
#define vr14   14
#define vr15   15
#define vr16   16
#define vr17   17
#define vr18   18
#define vr19   19
#define vr20   20
#define vr21   21
#define vr22   22
#define vr23   23
#define vr24   24
#define vr25   25
#define vr26   26
#define vr27   27
#define vr28   28
#define vr29   29
#define vr30   30
#define vr31   31
#define evr0   0
#define evr1   1
#define evr2   2
#define evr3   3
#define evr4   4
#define evr5   5
#define evr6   6
#define evr7   7
#define evr8   8
#define evr9   9
#define evr10   10
#define evr11   11
#define evr12   12
#define evr13   13
#define evr14   14
#define evr15   15
#define evr16   16
#define evr17   17
#define evr18   18
#define evr19   19
#define evr20   20
#define evr21   21
#define evr22   22
#define evr23   23
#define evr24   24
#define evr25   25
#define evr26   26
#define evr27   27
#define evr28   28
#define evr29   29
#define evr30   30
#define evr31   31
#define xer   1
#define lr   8
#define ctr   9
#define dec   22
#define sdr1   25
#define srr0   26
#define srr1   27
#define sprg0   272
#define sprg1   273
#define sprg2   274
#define sprg3   275
#define prv   287
#define hid0   1008
#define msr_ir   (1 << 4)
#define msr_dr   (1 << 5)
#define msr_pr   (1 << 14)
#define msr_ee   (1 << 15)
#define hid0_ice   (1 << 15)
#define hid0_dce   (1 << 14)
#define hid0_icfi   (1 << 11)
#define hid0_dci   (1 << 10)
#define CS_ENTER_BARRIER()   asm volatile ("" ::: "memory")
#define CS_LEAVE_BARRIER()   asm volatile ("" ::: "memory")
#define memory_barrier()   asm volatile ("sync" ::: "memory")
#define read_barrier()   asm volatile ("sync" ::: "memory")
#define write_barrier()   asm volatile ("eieio" ::: "memory")
#define BOOT_OFFSET   0x4000
#define TEMP_STACK_SIZE   0x100
#define TASKMAP_MAX_RECORDS   32
#define MEMMAP_MAX_RECORDS   32
#define BIG_ENDIAN
#define SP_DELTA   16
#define ELF_MACHINE   EM_PPC64
#define ELF_DATA_ENCODING   ELFDATA2MSB
#define ELF_CLASS   ELFCLASS32
#define FADDR(fptr)   ((__address) (fptr))
#define memcpy(dst, src, cnt)   __builtin_memcpy((dst), (src), (cnt))
#define NULL   0

Typedefs

typedef signed char __s8
typedef signed short __s16
typedef signed int __s32
typedef signed long __s64
typedef unsigned char __u8
typedef unsigned short __u16
typedef unsigned int __u32
typedef unsigned long __u64
typedef __u64 __address
typedef __u64 pfn_t
typedef __u64 ipl_t
typedef __u64 __native

Functions

static ipl_t interrupts_enable (void)
static ipl_t interrupts_disable (void)
static void interrupts_restore (ipl_t ipl)
static ipl_t interrupts_read (void)
static __address get_stack_base (void)
static void cpu_sleep (void)
static void cpu_halt (void)
void asm_delay_loop (__u32 t)
void userspace_asm (__address uspace_uarg, __address stack, __address entry)
static void atomic_inc (atomic_t *val)
static void atomic_dec (atomic_t *val)
static long atomic_postinc (atomic_t *val)
static long atomic_postdec (atomic_t *val)
static long atomic_preinc (atomic_t *val)
static long atomic_predec (atomic_t *val)
static __u64 __u64_le2host (__u64 n)
static __native __native_le2host (__native n)
static void cpu_version (struct cpu_info *info)
static void istate_set_retaddr (istate_t *istate, __address retaddr)
static int istate_from_uspace (istate_t *istate)
static __native istate_get_pc (istate_t *istate)
void memsetw (__address dst, size_t cnt, __u16 x)
void memsetb (__address dst, size_t cnt, __u8 x)
int memcmp (__address src, __address dst, int cnt)
void cpu_arch_init (void)
void cpu_identify (void)
void cpu_print_report (cpu_t *m)
void arch_pre_main (void)
void arch_pre_mm_init (void)
void arch_post_mm_init (void)
void arch_pre_smp_init (void)
void arch_post_smp_init (void)
void calibrate_delay_loop (void)
void userspace (uspace_arg_t *kernel_uarg)
void arch_grab_console (void)
void arch_release_console (void)

Variables

bootinfo_t bootinfo
context packed
cpu_info packed
fpu_context packed
bootinfo_t bootinfo

Define Documentation

#define BIG_ENDIAN
 

Definition at line 41 of file byteorder.h.

#define BOOT_OFFSET   0x4000
 

Definition at line 38 of file boot.h.

#define cr0   0
 

Definition at line 39 of file regname.h.

#define cr1   1
 

Definition at line 40 of file regname.h.

#define cr2   2
 

Definition at line 41 of file regname.h.

#define cr3   3
 

Definition at line 42 of file regname.h.

#define cr4   4
 

Definition at line 43 of file regname.h.

#define cr5   5
 

Definition at line 44 of file regname.h.

#define cr6   6
 

Definition at line 45 of file regname.h.

#define cr7   7
 

Definition at line 46 of file regname.h.

 
#define CS_ENTER_BARRIER  )     asm volatile ("" ::: "memory")
 

Definition at line 38 of file barrier.h.

Referenced by spinlock_trylock().

 
#define CS_LEAVE_BARRIER  )     asm volatile ("" ::: "memory")
 

Definition at line 39 of file barrier.h.

Referenced by spinlock_unlock().

#define ctr   9
 

Definition at line 188 of file regname.h.

#define dec   22
 

Definition at line 189 of file regname.h.

#define ELF_CLASS   ELFCLASS32
 

Definition at line 40 of file elf.h.

Referenced by elf_load().

#define ELF_DATA_ENCODING   ELFDATA2MSB
 

Definition at line 39 of file elf.h.

Referenced by elf_load().

#define ELF_MACHINE   EM_PPC64
 

Definition at line 38 of file elf.h.

Referenced by elf_load().

#define evr0   0
 

Definition at line 152 of file regname.h.

#define evr1   1
 

Definition at line 153 of file regname.h.

#define evr10   10
 

Definition at line 162 of file regname.h.

#define evr11   11
 

Definition at line 163 of file regname.h.

#define evr12   12
 

Definition at line 164 of file regname.h.

#define evr13   13
 

Definition at line 165 of file regname.h.

#define evr14   14
 

Definition at line 166 of file regname.h.

#define evr15   15
 

Definition at line 167 of file regname.h.

#define evr16   16
 

Definition at line 168 of file regname.h.

#define evr17   17
 

Definition at line 169 of file regname.h.

#define evr18   18
 

Definition at line 170 of file regname.h.

#define evr19   19
 

Definition at line 171 of file regname.h.

#define evr2   2
 

Definition at line 154 of file regname.h.

#define evr20   20
 

Definition at line 172 of file regname.h.

#define evr21   21
 

Definition at line 173 of file regname.h.

#define evr22   22
 

Definition at line 174 of file regname.h.

#define evr23   23
 

Definition at line 175 of file regname.h.

#define evr24   24
 

Definition at line 176 of file regname.h.

#define evr25   25
 

Definition at line 177 of file regname.h.

#define evr26   26
 

Definition at line 178 of file regname.h.

#define evr27   27
 

Definition at line 179 of file regname.h.

#define evr28   28
 

Definition at line 180 of file regname.h.

#define evr29   29
 

Definition at line 181 of file regname.h.

#define evr3   3
 

Definition at line 155 of file regname.h.

#define evr30   30
 

Definition at line 182 of file regname.h.

#define evr31   31
 

Definition at line 183 of file regname.h.

#define evr4   4
 

Definition at line 156 of file regname.h.

#define evr5   5
 

Definition at line 157 of file regname.h.

#define evr6   6
 

Definition at line 158 of file regname.h.

#define evr7   7
 

Definition at line 159 of file regname.h.

#define evr8   8
 

Definition at line 160 of file regname.h.

#define evr9   9
 

Definition at line 161 of file regname.h.

#define FADDR fptr   )     ((__address) (fptr))
 

Definition at line 40 of file faddr.h.

Referenced by main_ap(), scheduler(), and thread_create().

#define fr0   0
 

Definition at line 86 of file regname.h.

#define fr1   1
 

Definition at line 87 of file regname.h.

#define fr10   10
 

Definition at line 96 of file regname.h.

#define fr11   11
 

Definition at line 97 of file regname.h.

#define fr12   12
 

Definition at line 98 of file regname.h.

#define fr13   13
 

Definition at line 99 of file regname.h.

#define fr14   14
 

Definition at line 100 of file regname.h.

#define fr15   15
 

Definition at line 101 of file regname.h.

#define fr16   16
 

Definition at line 102 of file regname.h.

#define fr17   17
 

Definition at line 103 of file regname.h.

#define fr18   18
 

Definition at line 104 of file regname.h.

#define fr19   19
 

Definition at line 105 of file regname.h.

#define fr2   2
 

Definition at line 88 of file regname.h.

#define fr20   20
 

Definition at line 106 of file regname.h.

#define fr21   21
 

Definition at line 107 of file regname.h.

#define fr22   22
 

Definition at line 108 of file regname.h.

#define fr23   23
 

Definition at line 109 of file regname.h.

#define fr24   24
 

Definition at line 110 of file regname.h.

#define fr25   25
 

Definition at line 111 of file regname.h.

#define fr26   26
 

Definition at line 112 of file regname.h.

#define fr27   27
 

Definition at line 113 of file regname.h.

#define fr28   28
 

Definition at line 114 of file regname.h.

#define fr29   29
 

Definition at line 115 of file regname.h.

#define fr3   3
 

Definition at line 89 of file regname.h.

#define fr30   30
 

Definition at line 116 of file regname.h.

#define fr31   31
 

Definition at line 117 of file regname.h.

#define fr4   4
 

Definition at line 90 of file regname.h.

#define fr5   5
 

Definition at line 91 of file regname.h.

#define fr6   6
 

Definition at line 92 of file regname.h.

#define fr7   7
 

Definition at line 93 of file regname.h.

#define fr8   8
 

Definition at line 94 of file regname.h.

#define fr9   9
 

Definition at line 95 of file regname.h.

#define hid0   1008
 

Definition at line 198 of file regname.h.

#define hid0_dce   (1 << 14)
 

Definition at line 208 of file regname.h.

#define hid0_dci   (1 << 10)
 

Definition at line 210 of file regname.h.

#define hid0_ice   (1 << 15)
 

Definition at line 207 of file regname.h.

#define hid0_icfi   (1 << 11)
 

Definition at line 209 of file regname.h.

#define lr   8
 

Definition at line 187 of file regname.h.

#define memcpy dst,
src,
cnt   )     __builtin_memcpy((dst), (src), (cnt))
 

Definition at line 38 of file memstr.h.

Referenced by _bubblesort(), _qsort(), clear_screen(), ptl0_create(), scroll_screen(), sys_ipc_answer(), sys_ipc_answer_fast(), thread_create(), and vsnprintf_write().

#define MEMMAP_MAX_RECORDS   32
 

Definition at line 44 of file boot.h.

 
#define memory_barrier  )     asm volatile ("sync" ::: "memory")
 

Definition at line 41 of file barrier.h.

Referenced by preemption_disable(), and preemption_enable().

#define msr_dr   (1 << 5)
 

Definition at line 202 of file regname.h.

#define msr_ee   (1 << 15)
 

Definition at line 204 of file regname.h.

#define msr_ir   (1 << 4)
 

Definition at line 201 of file regname.h.

#define msr_pr   (1 << 14)
 

Definition at line 203 of file regname.h.

#define NULL   0
 

Definition at line 38 of file types.h.

Referenced by _btree_insert(), _btree_remove(), _rwlock_read_lock_timeout(), _slab_reclaim(), _waitq_wakeup_unsafe(), anon_share(), as_area_create(), btree_init(), btree_insert(), btree_leaf_node_left_neighbour(), btree_leaf_node_right_neighbour(), btree_search(), buddy_system_alloc(), check_area_conflicts(), clock_counter_init(), cmdtab_compl(), code_from_uspace(), elf_share(), fb_init(), find_best_thread(), find_free_zone_lock(), find_mapping_and_check(), find_zone_and_lock(), frame_alloc_generic(), frame_free(), frame_reference_add(), futex_find(), get_call(), get_full_current_mag(), get_mag_from_cache(), get_symbol_addr(), ipc_init(), ipc_irq_cleanup(), ipc_irq_make_table(), ipc_irq_register(), ipc_irq_unregister(), ipc_phone_init(), ipc_wait_for_call(), kcpulb(), kinit(), klog_init(), ktaskclnp(), ktaskgc(), let_others_in(), link_initialize(), magazine_destroy(), magazine_obj_get(), main_bsp_separated_stack(), make_empty_current_mag(), node_initialize(), parse_argument(), parse_cmdline(), pht_refill(), print_string(), printf_putstr(), pt_mapping_find(), rotate_from_left(), rotate_from_right(), scheduler(), scheduler_separated_stack(), slab_alloc(), slab_cache_init(), slab_free(), slab_obj_create(), slab_space_alloc(), sys_as_area_create(), sys_ipc_answer(), sys_ipc_answer_fast(), sys_sysinfo_valid(), sys_sysinfo_value(), sysinfo_create_path(), sysinfo_dump(), sysinfo_find_item(), sysinfo_get_val(), sysinfo_set_item_function(), sysinfo_set_item_undefined(), sysinfo_set_item_val(), task_create(), task_destroy(), task_init(), task_kill(), task_run_program(), the_initialize(), thr_constructor(), thread_create(), thread_destroy(), thread_exists(), thread_init(), timeout_register(), timeout_reinitialize(), uinit(), vprintf(), waitq_interrupt_sleep(), waitq_timeouted_sleep(), zone_buddy_find_block(), zone_buddy_find_buddy(), zone_print_list(), and zone_print_one().

#define prv   287
 

Definition at line 197 of file regname.h.

#define r0   0
 

Definition at line 49 of file regname.h.

#define r1   1
 

Definition at line 50 of file regname.h.

#define r10   10
 

Definition at line 59 of file regname.h.

#define r11   11
 

Definition at line 60 of file regname.h.

#define r12   12
 

Definition at line 61 of file regname.h.

#define r13   13
 

Definition at line 62 of file regname.h.

#define r14   14
 

Definition at line 63 of file regname.h.

#define r15   15
 

Definition at line 64 of file regname.h.

#define r16   16
 

Definition at line 65 of file regname.h.

#define r17   17
 

Definition at line 66 of file regname.h.

#define r18   18
 

Definition at line 67 of file regname.h.

#define r19   19
 

Definition at line 68 of file regname.h.

#define r2   2
 

Definition at line 51 of file regname.h.

#define r20   20
 

Definition at line 69 of file regname.h.

#define r21   21
 

Definition at line 70 of file regname.h.

#define r22   22
 

Definition at line 71 of file regname.h.

#define r23   23
 

Definition at line 72 of file regname.h.

#define r24   24
 

Definition at line 73 of file regname.h.

#define r25   25
 

Definition at line 74 of file regname.h.

#define r26   26
 

Definition at line 75 of file regname.h.

#define r27   27
 

Definition at line 76 of file regname.h.

#define r28   28
 

Definition at line 77 of file regname.h.

#define r29   29
 

Definition at line 78 of file regname.h.

#define r3   3
 

Definition at line 52 of file regname.h.

#define r30   30
 

Definition at line 79 of file regname.h.

#define r31   31
 

Definition at line 80 of file regname.h.

#define r4   4
 

Definition at line 53 of file regname.h.

#define r5   5
 

Definition at line 54 of file regname.h.

#define r6   6
 

Definition at line 55 of file regname.h.

#define r7   7
 

Definition at line 56 of file regname.h.

#define r8   8
 

Definition at line 57 of file regname.h.

#define r9   9
 

Definition at line 58 of file regname.h.

 
#define read_barrier  )     asm volatile ("sync" ::: "memory")
 

Definition at line 42 of file barrier.h.

#define sdr1   25
 

Definition at line 190 of file regname.h.

#define sp   1
 

Definition at line 83 of file regname.h.

#define SP_DELTA   16
 

Definition at line 42 of file context.h.

Referenced by before_thread_runs_arch(), and userspace().

#define sprg0   272
 

Definition at line 193 of file regname.h.

#define sprg1   273
 

Definition at line 194 of file regname.h.

#define sprg2   274
 

Definition at line 195 of file regname.h.

#define sprg3   275
 

Definition at line 196 of file regname.h.

#define srr0   26
 

Definition at line 191 of file regname.h.

#define srr1   27
 

Definition at line 192 of file regname.h.

#define TASKMAP_MAX_RECORDS   32
 

Definition at line 43 of file boot.h.

#define TEMP_STACK_SIZE   0x100
 

Definition at line 41 of file boot.h.

#define vr0   0
 

Definition at line 119 of file regname.h.

#define vr1   1
 

Definition at line 120 of file regname.h.

#define vr10   10
 

Definition at line 129 of file regname.h.

#define vr11   11
 

Definition at line 130 of file regname.h.

#define vr12   12
 

Definition at line 131 of file regname.h.

#define vr13   13
 

Definition at line 132 of file regname.h.

#define vr14   14
 

Definition at line 133 of file regname.h.

#define vr15   15
 

Definition at line 134 of file regname.h.

#define vr16   16
 

Definition at line 135 of file regname.h.

#define vr17   17
 

Definition at line 136 of file regname.h.

#define vr18   18
 

Definition at line 137 of file regname.h.

#define vr19   19
 

Definition at line 138 of file regname.h.

#define vr2   2
 

Definition at line 121 of file regname.h.

#define vr20   20
 

Definition at line 139 of file regname.h.

#define vr21   21
 

Definition at line 140 of file regname.h.

#define vr22   22
 

Definition at line 141 of file regname.h.

#define vr23   23
 

Definition at line 142 of file regname.h.

#define vr24   24
 

Definition at line 143 of file regname.h.

#define vr25   25
 

Definition at line 144 of file regname.h.

#define vr26   26
 

Definition at line 145 of file regname.h.

#define vr27   27
 

Definition at line 146 of file regname.h.

#define vr28   28
 

Definition at line 147 of file regname.h.

#define vr29   29
 

Definition at line 148 of file regname.h.

#define vr3   3
 

Definition at line 122 of file regname.h.

#define vr30   30
 

Definition at line 149 of file regname.h.

#define vr31   31
 

Definition at line 150 of file regname.h.

#define vr4   4
 

Definition at line 123 of file regname.h.

#define vr5   5
 

Definition at line 124 of file regname.h.

#define vr6   6
 

Definition at line 125 of file regname.h.

#define vr7   7
 

Definition at line 126 of file regname.h.

#define vr8   8
 

Definition at line 127 of file regname.h.

#define vr9   9
 

Definition at line 128 of file regname.h.

 
#define write_barrier  )     asm volatile ("eieio" ::: "memory")
 

Definition at line 43 of file barrier.h.

Referenced by clock_update_counters().

#define xer   1
 

Definition at line 186 of file regname.h.


Typedef Documentation

typedef __u64 __address
 

Definition at line 50 of file types.h.

typedef __u64 __native
 

Definition at line 55 of file types.h.

typedef signed short __s16
 

Definition at line 41 of file types.h.

typedef signed int __s32
 

Definition at line 42 of file types.h.

typedef signed long __s64
 

Definition at line 43 of file types.h.

typedef signed char __s8
 

Definition at line 40 of file types.h.

typedef unsigned short __u16
 

Definition at line 46 of file types.h.

typedef unsigned int __u32
 

Definition at line 47 of file types.h.

typedef unsigned long __u64
 

Definition at line 48 of file types.h.

typedef unsigned char __u8
 

Definition at line 45 of file types.h.

typedef __u64 ipl_t
 

Definition at line 53 of file types.h.

typedef __u64 pfn_t
 

Definition at line 51 of file types.h.


Function Documentation

static __native __native_le2host __native  n  )  [static]
 

Convert little-endian __native to host __native

Convert little-endian __native parameter to host endianess.

Parameters:
n Little-endian __native argument.
Returns:
Result in host endianess.

Definition at line 58 of file byteorder.h.

static __u64 __u64_le2host __u64  n  )  [static]
 

Definition at line 43 of file byteorder.h.

References __u64_byteorder_swap().

Referenced by get_symbol_addr(), get_symtab_entry(), and symtab_print_search().

Here is the call graph for this function:

void arch_grab_console void   ) 
 

Acquire console back for kernel

Definition at line 103 of file ppc64.c.

Referenced by sys_debug_enable_console().

void arch_post_mm_init void   ) 
 

Definition at line 68 of file ppc64.c.

References screen_t::addr, bootinfo, screen_t::bpp, config, config_t::cpu_active, fb_init(), screen_t::height, screen_t::scanline, bootinfo_t::screen, screen_t::width, and zone_merge_all().

Referenced by main_ap(), and main_bsp_separated_stack().

Here is the call graph for this function:

void arch_post_smp_init void   ) 
 

Definition at line 83 of file ppc64.c.

void arch_pre_main void   ) 
 

Definition at line 46 of file ppc64.c.

References utask_t::addr, init_task_t::addr, bootinfo, init_t::cnt, taskmap_t::count, init, utask_t::size, init_task_t::size, bootinfo_t::taskmap, taskmap_t::tasks, and init_t::tasks.

void arch_pre_mm_init void   ) 
 

Definition at line 59 of file ppc64.c.

References interrupt_init(), and start_decrementer().

Referenced by main_ap(), and main_bsp_separated_stack().

Here is the call graph for this function:

void arch_pre_smp_init void   ) 
 

Definition at line 78 of file ppc64.c.

References memory_print_map().

Referenced by main_bsp_separated_stack().

Here is the call graph for this function:

void arch_release_console void   ) 
 

Return console to userspace

Definition at line 109 of file ppc64.c.

Referenced by cmd_continue().

void asm_delay_loop __u32  t  ) 
 

Referenced by delay().

static void atomic_dec atomic_t val  )  [static]
 

Definition at line 54 of file atomic.h.

References atomic::count.

Referenced by _slab_free(), atomic_postdec(), atomic_predec(), check_call_limit(), get_mag_from_cache(), ipc_wait_for_call(), kcpulb(), magazine_destroy(), magazine_obj_get(), slab_space_free(), and sys_ipc_wait_for_call().

static void atomic_inc atomic_t val  )  [static]
 

Definition at line 38 of file atomic.h.

References atomic::count.

Referenced by _ipc_call(), atomic_postinc(), atomic_preinc(), ipc_backsend_err(), magazine_obj_put(), put_mag_to_cache(), slab_alloc(), slab_space_alloc(), and thread_ready().

static long atomic_postdec atomic_t val  )  [static]
 

Definition at line 76 of file atomic.h.

References atomic_dec(), and atomic::count.

Here is the call graph for this function:

static long atomic_postinc atomic_t val  )  [static]
 

Definition at line 70 of file atomic.h.

References atomic_inc(), and atomic::count.

Here is the call graph for this function:

static long atomic_predec atomic_t val  )  [static]
 

Definition at line 88 of file atomic.h.

References atomic_dec(), and atomic::count.

Here is the call graph for this function:

static long atomic_preinc atomic_t val  )  [static]
 

Definition at line 82 of file atomic.h.

References atomic_inc(), and atomic::count.

Referenced by check_call_limit(), ipc_irq_send_msg(), and ipc_irq_send_notif().

Here is the call graph for this function:

void calibrate_delay_loop void   ) 
 

Definition at line 87 of file ppc64.c.

Referenced by main_ap(), and main_bsp_separated_stack().

void cpu_arch_init void   ) 
 

Definition at line 44 of file cpu.c.

static void cpu_halt void   )  [static]
 

Definition at line 147 of file asm.h.

Referenced by _getc(), and halt().

void cpu_identify void   ) 
 

Definition at line 48 of file cpu.c.

References CPU, cpu_version(), and info.

Here is the call graph for this function:

void cpu_print_report cpu_t m  ) 
 

Definition at line 57 of file cpu.c.

References cpu::arch, cpu::id, printf(), cpu_arch::revision, and cpu_arch::version.

Referenced by cpu_list().

Here is the call graph for this function:

static void cpu_sleep void   )  [static]
 

Definition at line 143 of file asm.h.

Referenced by find_best_thread().

static void cpu_version struct cpu_info info  )  [static]
 

Definition at line 45 of file cpuid.h.

Referenced by cpu_identify().

static __address get_stack_base void   )  [static]
 

Return base address of current stack.

Return the base address of the current stack. The stack is assumed to be STACK_SIZE bytes long. The stack must start on page boundary.

Definition at line 131 of file asm.h.

References STACK_SIZE.

static ipl_t interrupts_disable void   )  [static]
 

Disable interrupts.

Disable interrupts and return previous value of EE.

Returns:
Old interrupt priority level.

Definition at line 70 of file asm.h.

static ipl_t interrupts_enable void   )  [static]
 

Enable interrupts.

Enable interrupts and return previous value of EE.

Returns:
Old interrupt priority level.

Definition at line 48 of file asm.h.

static ipl_t interrupts_read void   )  [static]
 

Return interrupt priority level.

Return EE.

Returns:
Current interrupt priority level.

Definition at line 114 of file asm.h.

static void interrupts_restore ipl_t  ipl  )  [static]
 

Restore interrupt priority level.

Restore EE.

Parameters:
ipl Saved interrupt priority level.

Definition at line 91 of file asm.h.

static int istate_from_uspace istate_t istate  )  [static]
 

Return true if exception happened while in userspace

Definition at line 91 of file exception.h.

References panic.

Referenced by exc_dispatch().

static __native istate_get_pc istate_t istate  )  [static]
 

Definition at line 96 of file exception.h.

References istate::pc.

static void istate_set_retaddr istate_t istate,
__address  retaddr
[static]
 

Definition at line 85 of file exception.h.

References istate::pc.

int memcmp __address  src,
__address  dst,
int  cnt
 

void memsetb __address  dst,
size_t  cnt,
__u8  x
 

Referenced by _ipc_call_init(), _slab_cache_create(), anon_page_fault(), as_area_create(), cpu_init(), hash_table_create(), make_magcache(), pht_init(), pt_mapping_insert(), pt_mapping_remove(), ptl0_create(), and thread_create().

void memsetw __address  dst,
size_t  cnt,
__u16  x
 

void userspace uspace_arg_t uarg  ) 
 

Switch to user-space (CPU user priviledge level)

Definition at line 91 of file ppc64.c.

References SP_DELTA, THREAD_STACK_SIZE, userspace_asm(), uspace_arg::uspace_entry, uspace_arg::uspace_stack, and uspace_arg::uspace_uarg.

Referenced by uinit().

Here is the call graph for this function:

void userspace_asm __address  uspace_uarg,
__address  stack,
__address  entry
 

Referenced by userspace().


Variable Documentation

bootinfo_t bootinfo
 

Definition at line 44 of file ppc64.c.

Referenced by arch_post_mm_init(), arch_pre_main(), frame_arch_init(), get_memory_size(), and memory_print_map().

bootinfo_t bootinfo
 

Definition at line 44 of file ppc64.c.

Referenced by arch_post_mm_init(), arch_pre_main(), frame_arch_init(), get_memory_size(), and memory_print_map().

struct fpu_context packed
 

struct cpu_info packed
 

struct context packed
 


Generated on Sun Jun 18 17:37:02 2006 for HelenOS Kernel (ppc64) by  doxygen 1.4.6