Files | |
file | arch.h |
file | arg.h |
file | boot.h |
file | regname.h |
file | asm.h |
file | atomic.h |
file | barrier.h |
file | byteorder.h |
file | cache.h |
file | console.h |
file | context.h |
file | cp0.h |
file | cpu.h |
file | arc.h |
file | msim.h |
file | serial.h |
file | elf.h |
file | exception.h |
file | faddr.h |
file | fpu_context.h |
file | memstr.h |
file | stack.h |
file | types.h |
file | cache.c |
file | console.c |
file | cpu.c |
file | arc.c |
file | msim.c |
file | serial.c |
file | exception.c |
file | fpu_context.c |
file | mips32.c |
Data Structures | |
struct | context |
struct | cpu_arch |
struct | __attribute__ |
struct | __attribute__ |
struct | __attribute__ |
struct | __attribute__ |
struct | arc_memdescriptor_t |
struct | arc_sysid_t |
struct | arc_func_vector_t |
struct | __attribute__ |
struct | serial_t |
struct | istate |
struct | fpu_context |
struct | data_t |
Defines | |
#define | va_start(ap, lst) ((ap) = (va_list)&(lst) + sizeof(lst)) |
#define | va_arg(ap, type) (((type *)((ap) = (va_list)( (sizeof(type) <= 4) ? ((__address)((ap) + 2*4 - 1) & (~3)) : ((__address)((ap) + 2*8 -1) & (~7)) )))[-1]) |
#define | va_copy(dst, src) ((dst)=(src)) |
#define | va_end(ap) |
#define | TEMP_STACK_SIZE 0x100 |
#define | zero 0 |
#define | at 1 |
#define | v0 2 |
#define | v1 3 |
#define | a0 4 |
#define | a1 5 |
#define | a2 6 |
#define | a3 7 |
#define | t0 8 |
#define | t1 9 |
#define | t2 10 |
#define | t3 11 |
#define | t4 12 |
#define | t5 13 |
#define | t6 14 |
#define | t7 15 |
#define | s0 16 |
#define | s1 17 |
#define | s2 18 |
#define | s3 19 |
#define | s4 20 |
#define | s5 21 |
#define | s6 22 |
#define | s7 23 |
#define | t8 24 |
#define | t9 25 |
#define | k0 26 |
#define | k1 27 |
#define | gp 28 |
#define | sp 29 |
#define | s8 30 |
#define | ra 31 |
#define | rindex 0 |
#define | rrandom 1 |
#define | entrylo0 2 |
#define | entrylo1 3 |
#define | context 4 |
#define | pagemask 5 |
#define | wired 6 |
#define | badvaddr 8 |
#define | count 9 |
#define | entryhi 10 |
#define | compare 11 |
#define | status 12 |
#define | cause 13 |
#define | epc 14 |
#define | rconfig 16 |
#define | lladdr 17 |
#define | watchlo 18 |
#define | watchhi 19 |
#define | xcontext 20 |
#define | rdebug 23 |
#define | depc 24 |
#define | eepc 30 |
#define | atomic_inc(x) ((void) atomic_add(x, 1)) |
#define | atomic_dec(x) ((void) atomic_add(x, -1)) |
#define | atomic_postinc(x) (atomic_add(x, 1) - 1) |
#define | atomic_postdec(x) (atomic_add(x, -1) + 1) |
#define | atomic_preinc(x) atomic_add(x, 1) |
#define | atomic_predec(x) atomic_add(x, -1) |
#define | CS_ENTER_BARRIER() __asm__ volatile ("" ::: "memory") |
#define | CS_LEAVE_BARRIER() __asm__ volatile ("" ::: "memory") |
#define | memory_barrier() __asm__ volatile ("" ::: "memory") |
#define | read_barrier() __asm__ volatile ("" ::: "memory") |
#define | write_barrier() __asm__ volatile ("" ::: "memory") |
#define | __native_le2host(n) (n) |
#define | __u64_le2host(n) (n) |
#define | SP_DELTA (0 + ALIGN_UP(STACK_ITEM_SIZE, STACK_ALIGNMENT)) |
#define | cp0_status_ie_enabled_bit (1<<0) |
#define | cp0_status_exl_exception_bit (1<<1) |
#define | cp0_status_erl_error_bit (1<<2) |
#define | cp0_status_um_bit (1<<4) |
#define | cp0_status_bev_bootstrap_bit (1<<22) |
#define | cp0_status_fpu_bit (1<<29) |
#define | cp0_status_im_shift 8 |
#define | cp0_status_im_mask 0xff00 |
#define | cp0_cause_excno(cause) ((cause >> 2) & 0x1f) |
#define | cp0_cause_coperr(cause) ((cause >> 28) & 0x3) |
#define | fpu_cop_id 1 |
#define | cp0_compare_value 100000 |
#define | cp0_mask_all_int() cp0_status_write(cp0_status_read() & ~(cp0_status_im_mask)) |
#define | cp0_unmask_all_int() cp0_status_write(cp0_status_read() | cp0_status_im_mask) |
#define | cp0_mask_int(it) cp0_status_write(cp0_status_read() & ~(1<<(cp0_status_im_shift+(it)))) |
#define | cp0_unmask_int(it) cp0_status_write(cp0_status_read() | (1<<(cp0_status_im_shift+(it)))) |
#define | GEN_READ_CP0(nm, reg) |
#define | GEN_WRITE_CP0(nm, reg) |
#define | ARC_BASE_ADDR 0x1000; |
#define | ARC_MAGIC 0x53435241 |
#define | ARC_FRAME 4096 |
#define | MSIM_VIDEORAM 0xB0000000 |
#define | MSIM_KBD_ADDRESS 0xB0000000 |
#define | MSIM_KBD_IRQ 2 |
#define | SERIAL_MAX 4 |
#define | SERIAL_COM1 0x3f8 |
#define | SERIAL_COM1_IRQ 4 |
#define | SERIAL_COM2 0x2f8 |
#define | SERIAL_COM2_IRQ 3 |
#define | P_WRITEB(where, what) (*((volatile char *) (0xB8000000+where))=what) |
#define | P_READB(where) (*((volatile char *)(0xB8000000+where))) |
#define | SERIAL_READ(x) P_READB(x) |
#define | SERIAL_WRITE(x, c) P_WRITEB(x,c) |
#define | SERIAL_READ_IER(x) (P_READB((x) + 1)) |
#define | SERIAL_WRITE_IER(x, c) (P_WRITEB((x)+1,c)) |
#define | SERIAL_READ_IIR(x) (P_READB((x) + 2)) |
#define | SERIAL_READ_LSR(x) (P_READB((x) + 5)) |
#define | TRANSMIT_EMPTY_BIT 5 |
#define | ELF_MACHINE EM_MIPS |
#define | ELF_DATA_ENCODING ELFDATA2LSB |
#define | ELF_CLASS ELFCLASS32 |
#define | EXC_Int 0 |
#define | EXC_Mod 1 |
#define | EXC_TLBL 2 |
#define | EXC_TLBS 3 |
#define | EXC_AdEL 4 |
#define | EXC_AdES 5 |
#define | EXC_IBE 6 |
#define | EXC_DBE 7 |
#define | EXC_Sys 8 |
#define | EXC_Bp 9 |
#define | EXC_RI 10 |
#define | EXC_CpU 11 |
#define | EXC_Ov 12 |
#define | EXC_Tr 13 |
#define | EXC_VCEI 14 |
#define | EXC_FPE 15 |
#define | EXC_WATCH 23 |
#define | EXC_VCED 31 |
#define | FADDR(fptr) ((__address) (fptr)) |
#define | FPU_CONTEXT_ALIGN sizeof(__native) |
#define | memcpy(dst, src, cnt) __builtin_memcpy((dst), (src), (cnt)) |
#define | STACK_ITEM_SIZE 4 |
#define | STACK_ALIGNMENT 8 |
#define | NULL 0 |
#define | EXCEPTION_JUMP_SIZE 8 |
#define | TLB_EXC ((char *) 0x80000000) |
#define | NORM_EXC ((char *) 0x80000180) |
#define | CACHE_EXC ((char *) 0x80000100) |
Typedefs | |
typedef __address | va_list |
typedef signed char | __s8 |
typedef unsigned char | __u8 |
typedef signed short | __s16 |
typedef unsigned short | __u16 |
typedef unsigned long | __u32 |
typedef signed long | __s32 |
typedef unsigned long long | __u64 |
typedef signed long long | __s64 |
typedef __u32 | __address |
typedef __u32 | ipl_t |
typedef __u32 | __native |
typedef __s32 | __snative |
typedef pte | pte_t |
typedef __u32 | pfn_t |
Enumerations | |
enum | cm_resource_type { CmResourceTypeNull = 0, CmResourceTypePort, CmResourceTypeInterrupt, CmResourceTypeMemory, CmResourceTypeDma, CmResourceTypeDeviceSpecific, CmResourceTypeVendor, CmResourceTypeProductName, CmResourceTypeSerialNumber } |
enum | arc_component_class { SystemClass = 0, ProcessorClass, CacheClass, AdapterClass, ControllerClass, PeripheralClass, MemoryClass } |
enum | arc_component_type { ARC_type = 0, CPU_type, FPU_type, PrimaryICache, PrimaryDCache, SecondaryICache, SecondaryDCache, SecondaryCache, Memory, EISAAdapter, TCAdapter, SCSIAdapter, DTIAdapter, MultiFunctionAdapter, DiskController, TapeController, CDROMController, WORMController, SerialController, NetworkController, DisplayController, ParallelController, PointerController, KeyboardController, AudioController, OtherController, DiskPeripheral, FloppyDiskPeripheral, TapePeripheral, ModemPeripheral, MonitorPeripheral, PrinterPeripheral, PointerPeripheral, KeyboardPeripheral, TerminalPeripheral, LinePeripheral, NetworkPeripheral, OtherPeripheral, XTalkAdapter, PCIAdapter, GIOAdapter, TPUAdapter, Anonymous } |
enum | arc_component_flags { Failed = 1, ReadOnly = 2, Removable = 4, ConsoleIn = 8, ConsoleOut = 16, Input = 32, Output = 64 } |
enum | arc_memorytype_t { ExceptionBlock, SystemParameterBlock, FreeContiguous, FreeMemory, BadMemory, LoadedProgram, FirmwareTemporary, FirmwarePermanent } |
Functions | |
static void | cpu_sleep (void) |
static __address | get_stack_base (void) |
void | cpu_halt (void) |
void | asm_delay_loop (__u32 t) |
void | userspace_asm (__address ustack, __address uspace_uarg, __address entry) |
static long | atomic_add (atomic_t *val, int i) |
void | cache_error (void) |
void | console_init (void) |
GEN_READ_CP0 (index, 0) | |
GEN_WRITE_CP0 (index, 0) | |
GEN_READ_CP0 (random, 1) | |
GEN_READ_CP0 (entry_lo0, 2) | |
GEN_WRITE_CP0 (entry_lo0, 2) | |
GEN_READ_CP0 (entry_lo1, 3) | |
GEN_WRITE_CP0 (entry_lo1, 3) | |
GEN_READ_CP0 (context, 4) | |
GEN_WRITE_CP0 (context, 4) | |
GEN_READ_CP0 (pagemask, 5) | |
GEN_WRITE_CP0 (pagemask, 5) | |
GEN_READ_CP0 (wired, 6) | |
GEN_WRITE_CP0 (wired, 6) | |
GEN_READ_CP0 (badvaddr, 8) | |
GEN_READ_CP0 (count, 9) | |
GEN_WRITE_CP0 (count, 9) | |
GEN_READ_CP0 (entry_hi, 10) | |
GEN_WRITE_CP0 (entry_hi, 10) | |
GEN_READ_CP0 (compare, 11) | |
GEN_WRITE_CP0 (compare, 11) | |
GEN_READ_CP0 (status, 12) | |
GEN_WRITE_CP0 (status, 12) | |
GEN_READ_CP0 (cause, 13) | |
GEN_WRITE_CP0 (cause, 13) | |
GEN_READ_CP0 (epc, 14) | |
GEN_WRITE_CP0 (epc, 14) | |
GEN_READ_CP0 (prid, 15) | |
int | arc_init (void) |
int | arc_enabled (void) |
void | arc_frame_init (void) |
void | arc_console (void) |
void | msim_console (void) |
void | msim_kbd_release (void) |
void | msim_kbd_grab (void) |
void | serial_console (void) |
int | serial_init (void) |
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 | exception (istate_t *istate) |
void | tlb_refill_entry (void) |
void | exception_entry (void) |
void | cache_error_entry (void) |
void | exception_init (void) |
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 | arch_grab_console (void) |
void | arch_release_console (void) |
void | cpu_arch_init (void) |
void | cpu_identify (void) |
void | cpu_print_report (cpu_t *m) |
static void | arc_putchar (char ch) |
static void | arc_print_confdata (arc_component *c) |
static void | arc_print_component (arc_component *c) |
static int | cmd_arc_print_devices (cmd_arg_t *argv) |
static int | cmd_arc_print_memmap (cmd_arg_t *argv) |
static int | cmd_reboot (cmd_arg_t *argv) |
static void | arc_keyboard_poll (void) |
static char | arc_read (chardev_t *dev) |
static void | arc_write (chardev_t *dev, const char ch) |
static void | arc_enable (chardev_t *dev) |
static void | arc_disable (chardev_t *dev) |
static void | timer_replace (int n, istate_t *istate) |
static void | msim_write (chardev_t *dev, const char ch) |
static void | msim_enable (chardev_t *dev) |
static void | msim_disable (chardev_t *dev) |
static char | msim_do_read (chardev_t *dev) |
static void | msim_interrupt (int n, istate_t *istate) |
static void | serial_write (chardev_t *d, const char ch) |
static void | serial_enable (chardev_t *d) |
static void | serial_disable (chardev_t *d) |
static char | serial_do_read (chardev_t *dev) |
static void | serial_interrupt (int n, void *stack) |
static void | print_regdump (istate_t *istate) |
static void | unhandled_exception (int n, istate_t *istate) |
static void | reserved_instr_exception (int n, istate_t *istate) |
static void | breakpoint_exception (int n, istate_t *istate) |
static void | tlbmod_exception (int n, istate_t *istate) |
static void | tlbinv_exception (int n, istate_t *istate) |
static void | interrupt_exception (int n, istate_t *istate) |
static void | syscall_exception (int n, istate_t *istate) |
void | fpu_disable (void) |
void | fpu_enable (void) |
void | fpu_init () |
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) |
__address supervisor_sp | __attribute__ ((section(".text"))) |
void | userspace (uspace_arg_t *kernel_uarg) |
void | before_task_runs_arch (void) |
void | before_thread_runs_arch (void) |
void | after_thread_ran_arch (void) |
__native | sys_tls_set (__native addr) |
Variables | |
static struct data_t | imp_data [] |
static struct data_t | imp_data80 [] |
static char * | basetypes [] |
static char * | ctypes [] |
static arc_sbp * | sbp = (arc_sbp *)PA2KA(0x1000) |
static arc_func_vector_t * | arc_entry |
static cmd_info_t | devlist_info |
static cmd_info_t | memmap_info |
static cmd_info_t | reboot_info |
static bool | kbd_polling_enabled |
static chardev_t | console |
static chardev_operations_t | arc_ops |
iroutine | old_timer |
static chardev_t | console |
static chardev_operations_t | msim_ops |
static iroutine | oldvector |
static chardev_t | console |
static serial_t | sconf [SERIAL_MAX] |
static bool | kb_enabled |
static chardev_operations_t | serial_ops |
iroutine | old_timer |
static char * | exctable [] |
bootinfo_t | bootinfo |
|
Definition at line 53 of file byteorder.h. |
|
Definition at line 54 of file byteorder.h. Referenced by get_symbol_addr(), get_symtab_entry(), and symtab_print_search(). |
|
|
|
|
|
|
|
|
|
|
|
Definition at line 44 of file arc.h. Referenced by arc_frame_init(), and cmd_arc_print_memmap(). |
|
Definition at line 42 of file arc.h. Referenced by arc_init(). |
|
|
|
Definition at line 39 of file atomic.h. Referenced by _slab_free(), 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(). |
|
Definition at line 38 of file atomic.h. Referenced by _ipc_call(), ipc_backsend_err(), magazine_obj_put(), put_mag_to_cache(), slab_alloc(), slab_space_alloc(), and thread_ready(). |
|
|
|
|
|
|
|
Definition at line 44 of file atomic.h. Referenced by check_call_limit(), ipc_irq_send_msg(), and ipc_irq_send_notif(). |
|
Definition at line 78 of file regname.h. Referenced by tlb_invalid(), tlb_modified(), and tlb_refill(). |
|
Definition at line 68 of file mips32.c. Referenced by arch_pre_mm_init(). |
|
Definition at line 83 of file regname.h. Referenced by interrupt_exception(). |
|
|
|
|
|
Definition at line 79 of file regname.h. Referenced by anon_share(), arc_keyboard_poll(), arc_read(), elf_share(), kcpulb(), printf_putstr(), tlb_shootdown_ipi_recv(), zone_get_frame(), and zone_merge_all(). |
|
|
|
|
|
Definition at line 59 of file cp0.h. Referenced by timer_exception(), and timer_start(). |
|
Definition at line 61 of file cp0.h. Referenced by arch_pre_mm_init(). |
|
Definition at line 63 of file cp0.h. Referenced by msim_disable(). |
|
Definition at line 45 of file cp0.h. Referenced by arch_pre_mm_init(). |
|
Definition at line 43 of file cp0.h. Referenced by arch_pre_mm_init(). |
|
Definition at line 42 of file cp0.h. Referenced by userspace(). |
|
Definition at line 46 of file cp0.h. Referenced by fpu_disable(), and fpu_enable(). |
|
Definition at line 41 of file cp0.h. Referenced by interrupts_disable(), interrupts_enable(), interrupts_restore(), and userspace(). |
|
|
|
|
|
Definition at line 44 of file cp0.h. Referenced by istate_from_uspace(), and userspace(). |
|
|
|
Definition at line 64 of file cp0.h. Referenced by arch_pre_mm_init(), msim_console(), and msim_enable(). |
|
Definition at line 41 of file barrier.h. Referenced by spinlock_trylock(). |
|
Definition at line 42 of file barrier.h. Referenced by spinlock_unlock(). |
|
|
|
|
|
Definition at line 46 of file elf.h. Referenced by elf_load(). |
|
Definition at line 43 of file elf.h. Referenced by elf_load(). |
|
Definition at line 38 of file elf.h. Referenced by elf_load(). |
|
|
|
|
|
|
|
|
|
Definition at line 49 of file exception.h. |
|
Definition at line 50 of file exception.h. |
|
Definition at line 54 of file exception.h. Referenced by exception_init(). |
|
Definition at line 56 of file exception.h. Referenced by exception_init(). |
|
Definition at line 52 of file exception.h. |
|
Definition at line 60 of file exception.h. |
|
Definition at line 51 of file exception.h. |
|
Definition at line 45 of file exception.h. Referenced by exception_init(). |
|
Definition at line 46 of file exception.h. Referenced by exception_init(). |
|
Definition at line 57 of file exception.h. |
|
Definition at line 55 of file exception.h. Referenced by exception_init(). |
|
Definition at line 53 of file exception.h. Referenced by exception_init(). |
|
Definition at line 47 of file exception.h. Referenced by exception_init(). |
|
Definition at line 48 of file exception.h. Referenced by exception_init(). |
|
Definition at line 58 of file exception.h. |
|
Definition at line 62 of file exception.h. |
|
Definition at line 59 of file exception.h. |
|
Definition at line 61 of file exception.h. |
|
Definition at line 64 of file mips32.c. Referenced by arch_pre_mm_init(). |
|
Definition at line 40 of file faddr.h. Referenced by main_ap(), scheduler(), and thread_create(). |
|
Definition at line 40 of file fpu_context.h. Referenced by thread_init(). |
|
|
|
Value: |
|
Value: static inline void cp0_ ##nm##_write(__u32 val) \ { \ asm("mtc0 %0, $" #reg : : "r"(val) ); \ } |
|
Definition at line 66 of file regname.h. Referenced by cmd_call0(), cmd_call1(), cmd_call2(), and cmd_call3(). |
|
|
|
|
|
|
|
Definition at line 38 of file memstr.h. Referenced by _bubblesort(), _qsort(), arch_pre_mm_init(), clear_screen(), ptl0_create(), scroll_screen(), sys_ipc_answer(), sys_ipc_answer_fast(), thread_create(), and vsnprintf_write(). |
|
Definition at line 44 of file barrier.h. Referenced by preemption_disable(), and preemption_enable(). |
|
Address of 'keyboard' device. Definition at line 42 of file msim.h. Referenced by msim_do_read(), and msim_interrupt(). |
|
Definition at line 43 of file msim.h. Referenced by msim_console(), msim_disable(), msim_enable(), msim_kbd_grab(), and msim_kbd_release(). |
|
Definition at line 40 of file msim.h. Referenced by msim_write(). |
|
Definition at line 67 of file mips32.c. Referenced by arch_pre_mm_init(). |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Definition at line 41 of file serial.h. Referenced by serial_init(). |
|
Definition at line 42 of file serial.h. Referenced by serial_init(). |
|
|
|
|
|
|
|
Definition at line 49 of file serial.h. Referenced by serial_do_read(), and serial_interrupt(). |
|
|
|
|
|
Definition at line 57 of file serial.h. Referenced by serial_do_read(), serial_init(), serial_interrupt(), and serial_write(). |
|
Definition at line 50 of file serial.h. Referenced by serial_write(). |
|
|
|
|
|
Definition at line 44 of file context.h. Referenced by before_thread_runs_arch(). |
|
|
|
|
|
Definition at line 82 of file regname.h. Referenced by slab_space_alloc(), and thr_constructor(). |
|
|
|
Definition at line 47 of file regname.h. Referenced by task_run_program(). |
|
Definition at line 48 of file regname.h. Referenced by task_run_program(). |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Definition at line 66 of file mips32.c. Referenced by arch_pre_mm_init(). |
|
Definition at line 58 of file serial.h. Referenced by serial_write(). |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Definition at line 46 of file barrier.h. Referenced by clock_update_counters(). |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
va_arg macro for MIPS32 - problem is that 64 bit values must be aligned on an 8-byte boundary (32bit values not) To satisfy this, paddings must be sometimes inserted. |
|
|
|
|
|
|
|
|
|
|
|
|
Definition at line 169 of file mips32.c. Referenced by after_thread_ran(). |
|
Definition at line 365 of file arc.c. References arc_ops, chardev_initialize(), console, int_register, stdin, stdout, TIMER_IRQ, and timer_replace(). Referenced by console_init(). Here is the call graph for this function: |
|
|
|
|
|
Return true if ARC is available Definition at line 116 of file arc.c. Referenced by console_init(), and frame_arch_init(). |
|
Definition at line 379 of file arc.c. References ADDR2PFN(), ALIGN_DOWN, ALIGN_UP, arc_entry, ARC_FRAME, arc_memdescriptor_t::basecount, arc_memdescriptor_t::basepage, config, FRAME_SIZE, FreeContiguous, FreeMemory, arc_func_vector_t::getmemorydescriptor, config_t::memory_size, NULL, SIZE2FRAMES(), arc_memdescriptor_t::type, and zone_create(). Referenced by frame_arch_init(). Here is the call graph for this function: |
|
Initialize ARC structure
Definition at line 265 of file arc.c. References arc_entry, ARC_MAGIC, arc_putchar(), cmd_initialize(), cmd_register(), devlist_info, memmap_info, NULL, reboot_info, and sbp. Referenced by arch_pre_mm_init(). Here is the call graph for this function: |
|
Try to get character, return character or -1 if not available Definition at line 293 of file arc.c. References arc_entry, chardev_push_character(), console, count, arc_func_vector_t::getreadstatus, and arc_func_vector_t::read. Referenced by timer_replace(). Here is the call graph for this function: |
|
Print information about component Definition at line 167 of file arc.c. References arc_print_confdata(), ctypes, and printf(). Referenced by cmd_arc_print_devices(). Here is the call graph for this function: |
|
Print configuration data that ARC reports about component Definition at line 123 of file arc.c. References arc_entry, free(), arc_func_vector_t::getconfigurationdata, and malloc(). Referenced by arc_print_component(). Here is the call graph for this function: |
|
Print charactor to console Definition at line 237 of file arc.c. References arc_entry, interrupts_disable(), interrupts_restore(), and arc_func_vector_t::write. Referenced by arc_init(), and arc_write(). Here is the call graph for this function: |
|
Definition at line 316 of file arc.c. References arc_entry, count, cpu_halt(), printf(), and arc_func_vector_t::read. Here is the call graph for this function: |
|
Definition at line 334 of file arc.c. References arc_putchar(). Here is the call graph for this function: |
|
Acquire console back for kernel Definition at line 55 of file console.c. References msim_kbd_grab(). Referenced by sys_debug_enable_console(). Here is the call graph for this function: |
|
Definition at line 120 of file mips32.c. References fb_init(), NULL, STRING, and sysinfo_set_item_val(). Referenced by main_ap(), and main_bsp_separated_stack(). Here is the call graph for this function: |
|
|
|
Definition at line 72 of file mips32.c. References utask_t::addr, init_task_t::addr, bootinfo, bootinfo_t::cnt, init_t::cnt, init, utask_t::size, init_task_t::size, bootinfo_t::tasks, and init_t::tasks. |
|
Definition at line 85 of file mips32.c. References arc_init(), cache_error_entry(), CACHE_EXC, console_init(), cp0_mask_all_int, cp0_status_bev_bootstrap_bit, cp0_status_erl_error_bit, cp0_unmask_int, debugger_init(), exception_entry(), exception_init(), EXCEPTION_JUMP_SIZE, interrupt_init(), interrupts_disable(), memcpy, NORM_EXC, TIMER_IRQ, TLB_EXC, and tlb_refill_entry(). Referenced by main_ap(), and main_bsp_separated_stack(). Here is the call graph for this function: |
|
Definition at line 128 of file mips32.c. Referenced by main_bsp_separated_stack(). |
|
Return console to userspace Definition at line 62 of file console.c. References msim_kbd_release(). Referenced by cmd_continue(). Here is the call graph for this function: |
|
Referenced by delay(). |
|
Definition at line 54 of file atomic.h. References atomic::count. |
|
Perform mips32 specific tasks needed before the new task is run. Definition at line 159 of file mips32.c. Referenced by before_task_runs(). |
|
Perform mips32 specific tasks needed before the new thread is scheduled. Definition at line 164 of file mips32.c. References SP_DELTA, THREAD, and THREAD_STACK_SIZE. Referenced by before_thread_runs(). |
|
Definition at line 103 of file exception.c. References debugger_bpoint(), and istate::epc. Referenced by exception_init(). Here is the call graph for this function: |
|
Definition at line 38 of file cache.c. References panic. |
|
Referenced by arch_pre_mm_init(). |
|
Read from ARC bios configuration data and print it Definition at line 183 of file arc.c. References arc_entry, arc_print_component(), arc_func_vector_t::getchild, arc_func_vector_t::getparent, arc_func_vector_t::getpeer, and NULL. Here is the call graph for this function: |
|
Read from arc bios memory map and print it Definition at line 213 of file arc.c. References arc_entry, ARC_FRAME, arc_memdescriptor_t::basecount, arc_memdescriptor_t::basepage, basetypes, arc_func_vector_t::getmemorydescriptor, NULL, printf(), and arc_memdescriptor_t::type. Here is the call graph for this function: |
|
Definition at line 249 of file arc.c. References arc_entry, and arc_func_vector_t::reboot. |
|
Definition at line 41 of file console.c. References arc_console(), arc_enabled(), msim_console(), serial_console(), and serial_init(). Referenced by arch_pre_mm_init(). Here is the call graph for this function: |
|
|
|
Referenced by _getc(), arc_read(), and halt(). |
|
Definition at line 102 of file cpu.c. References CPU. |
|
Definition at line 108 of file cpu.c. References cpu::arch, imp_data80, cpu_arch::imp_num, printf(), and data_t::vendor. Referenced by cpu_list(). Here is the call graph for this function: |
|
Definition at line 43 of file asm.h. Referenced by find_best_thread(). |
|
|
|
Referenced by arch_pre_mm_init(). |
|
Definition at line 156 of file exception.c. References breakpoint_exception(), EXC_Bp, EXC_CpU, EXC_Int, EXC_Mod, exc_register(), EXC_RI, EXC_Sys, EXC_TLBL, EXC_TLBS, interrupt_exception(), IVT_ITEMS, reserved_instr_exception(), syscall_exception(), tlbinv_exception(), tlbmod_exception(), and unhandled_exception(). Referenced by arch_pre_mm_init(). Here is the call graph for this function: |
|
Definition at line 41 of file fpu_context.c. References cp0_status_fpu_bit. Referenced by before_thread_runs(). |
|
Definition at line 48 of file fpu_context.c. References cp0_status_fpu_bit. Referenced by before_thread_runs(). |
|
Definition at line 55 of file fpu_context.c. Referenced by before_thread_runs(). |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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 55 of file asm.h. References STACK_SIZE. |
|
Definition at line 137 of file exception.c. References cause, exc_dispatch(), and INT_OFFSET. Referenced by exception_init(). Here is the call graph for this function: |
|
Return true if exception happened while in userspace Definition at line 109 of file exception.h. References cp0_status_um_bit, and istate::status. Referenced by exc_dispatch(). |
|
Definition at line 113 of file exception.h. References istate::epc. |
|
Definition at line 103 of file exception.h. References istate::epc. |
|
|
|
Referenced by _ipc_call_init(), _slab_cache_create(), anon_page_fault(), as_area_create(), cpu_init(), hash_table_create(), make_magcache(), pt_mapping_insert(), pt_mapping_remove(), ptl0_create(), and thread_create(). |
|
|
|
Definition at line 106 of file msim.c. References chardev_initialize(), console, cp0_unmask_int, int_register, msim_interrupt(), MSIM_KBD_IRQ, msim_ops, stdin, and stdout. Referenced by console_init(). Here is the call graph for this function: |
|
Definition at line 68 of file msim.c. References cp0_mask_int, and MSIM_KBD_IRQ. |
|
Read character using polling, assume interrupts disabled Definition at line 75 of file msim.c. References MSIM_KBD_ADDRESS. |
|
Definition at line 62 of file msim.c. References cp0_unmask_int, and MSIM_KBD_IRQ. |
|
Process keyboard interrupt. Definition at line 92 of file msim.c. References chardev_push_character(), console, and MSIM_KBD_ADDRESS. Referenced by msim_console(), and msim_kbd_grab(). Here is the call graph for this function: |
|
Definition at line 119 of file msim.c. References int_register, msim_interrupt(), MSIM_KBD_IRQ, and oldvector. Referenced by arch_grab_console(). Here is the call graph for this function: |
|
Definition at line 123 of file msim.c. References int_register, MSIM_KBD_IRQ, and oldvector. Referenced by arch_release_console(). |
|
Putchar that works with MSIM & gxemul Definition at line 56 of file msim.c. References MSIM_VIDEORAM. |
|
Definition at line 70 of file exception.c. References istate::epc, get_symtab_entry(), printf(), istate::ra, and istate::sp. Referenced by unhandled_exception(). Here is the call graph for this function: |
|
Definition at line 93 of file exception.c. References ASSERT, istate::epc, istate::k1, THREAD, unhandled_exception(), and istate::v1. Referenced by exception_init(). Here is the call graph for this function: |
|
Definition at line 127 of file serial.c. References chardev_initialize(), console, chardev::data, int_register, kb_enabled, old_timer, sconf, serial_ops, stdin, stdout, TIMER_IRQ, and timer_replace(). Referenced by console_init(). Here is the call graph for this function: |
|
Definition at line 62 of file serial.c. References kb_enabled. |
|
Read character from serial port, wait until available Definition at line 80 of file serial.c. References chardev::data, serial_t::port, SERIAL_READ, and SERIAL_READ_LSR. |
|
Definition at line 57 of file serial.c. References kb_enabled. |
|
Definition at line 67 of file serial.c. References serial_t::irq, serial_t::port, sconf, SERIAL_COM1, SERIAL_COM1_IRQ, and SERIAL_READ_LSR. Referenced by console_init(). |
|
Process keyboard interrupt. Does not work in simics? Definition at line 96 of file serial.c. References chardev_push_character(), console, chardev::data, serial_t::port, SERIAL_READ, and SERIAL_READ_LSR. Here is the call graph for this function: |
|
Definition at line 45 of file serial.c. References chardev::data, serial_t::port, SERIAL_READ_LSR, SERIAL_WRITE, and TRANSMIT_EMPTY_BIT. |
|
Set thread-local-storage pointer We have it currently in K1, it is possible to have it separately in the future. |
|
Handle syscall userspace call Definition at line 151 of file exception.c. References panic. Referenced by exception_init(). |
|
Do polling on timer interrupt Definition at line 358 of file arc.c. References arc_keyboard_poll(), and old_timer. Referenced by arc_console(), and serial_console(). Here is the call graph for this function: |
|
Referenced by arch_pre_mm_init(). |
|
Definition at line 120 of file exception.c. References tlb_invalid(). Referenced by exception_init(). Here is the call graph for this function: |
|
Definition at line 115 of file exception.c. References tlb_modified(). Referenced by exception_init(). Here is the call graph for this function: |
|
Definition at line 85 of file exception.c. References exctable, fault_if_from_uspace, panic, and print_regdump(). Referenced by exception_init(), and reserved_instr_exception(). Here is the call graph for this function: |
|
Switch to user-space (CPU user priviledge level) Definition at line 144 of file mips32.c. References cp0_status_exl_exception_bit, cp0_status_ie_enabled_bit, cp0_status_um_bit, PAGE_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: |
|
Referenced by userspace(). |
|
Definition at line 110 of file arc.c. Referenced by arc_frame_init(), arc_init(), arc_keyboard_poll(), arc_print_confdata(), arc_putchar(), arc_read(), cmd_arc_print_devices(), cmd_arc_print_memmap(), and cmd_reboot(). |
|
Initial value: { .resume = arc_enable, .suspend = arc_disable, .write = arc_write, .read = arc_read } Definition at line 349 of file arc.c. Referenced by arc_console(). |
|
Initial value: { "ExceptionBlock", "SystemParameterBlock", "FreeContiguous", "FreeMemory", "BadMemory", "LoadedProgram", "FirmwareTemporary", "FirmwarePermanent" } Definition at line 51 of file arc.c. Referenced by cmd_arc_print_memmap(). |
|
Definition at line 70 of file mips32.c. Referenced by arch_pre_main(). |
|
|
|
|
|
Definition at line 290 of file arc.c. Referenced by arc_console(), arc_keyboard_poll(), msim_console(), msim_interrupt(), serial_console(), and serial_interrupt(). |
|
Definition at line 62 of file arc.c. Referenced by arc_print_component(). |
|
Initial value: { .name = "arcdevlist", .description = "Print arc device list", .func = cmd_arc_print_devices, .argc = 0 } Definition at line 202 of file arc.c. Referenced by arc_init(). |
|
Initial value: { "Interrupt","TLB Modified","TLB Invalid","TLB Invalid Store", "Address Error - load/instr. fetch", "Address Error - store", "Bus Error - fetch instruction", "Bus Error - data reference", "Syscall", "BreakPoint", "Reserved Instruction", "Coprocessor Unusable", "Arithmetic Overflow", "Trap", "Virtual Coherency - instruction", "Floating Point", NULL, NULL, NULL, NULL, NULL, NULL, NULL, "WatchHi/WatchLo", NULL, NULL, NULL, NULL, NULL, NULL, NULL, "Virtual Coherency - data", } Definition at line 50 of file exception.c. Referenced by unhandled_exception(). |
|
|
|
Initial value: { { "MIPS", "4Kc" }, {"Invalid","Invalid"}, {"Invalid","Invalid"}, {"MIPS","4Km & 4Kp"}, { NULL, NULL} } Definition at line 90 of file cpu.c. Referenced by cpu_print_report(). |
|
Definition at line 43 of file serial.c. Referenced by serial_console(), serial_disable(), and serial_enable(). |
|
|
|
Initial value: { .name = "arcmemmap", .description = "Print arc memory map", .func = cmd_arc_print_memmap, .argc = 0 } Definition at line 229 of file arc.c. Referenced by arc_init(). |
|
Initial value: { .resume = msim_enable, .suspend = msim_disable, .write = msim_write, .read = msim_do_read, } Definition at line 48 of file msim.c. Referenced by msim_console(). |
|
|
|
Definition at line 356 of file arc.c. Referenced by serial_console(), and timer_replace(). |
|
Definition at line 118 of file msim.c. Referenced by msim_kbd_grab(), and msim_kbd_release(). |
|
Initial value: { .name = "reboot", .description = "Reboot computer", .func = cmd_reboot, .argc = 0 } Definition at line 254 of file arc.c. Referenced by arc_init(). |
|
Definition at line 109 of file arc.c. Referenced by arc_enabled(), and arc_init(). |
|
Definition at line 42 of file serial.c. Referenced by serial_console(), and serial_init(). |
|
Initial value: { .resume = serial_enable, .suspend = serial_disable, .write = serial_write, .read = serial_do_read } Definition at line 112 of file serial.c. Referenced by serial_console(). |