Changeset b994a60 in mainline for arch/ia64/src/ia64.c
- Timestamp:
- 2006-03-09T12:44:27Z (19 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 901122b
- Parents:
- cd373bb
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
arch/ia64/src/ia64.c
rcd373bb rb994a60 32 32 #include <arch/interrupt.h> 33 33 #include <arch/barrier.h> 34 #include <arch/asm.h> 35 #include <arch/register.h> 34 36 #include <arch/types.h> 35 37 #include <arch/context.h> 38 #include <arch/mm/page.h> 39 #include <mm/as.h> 40 #include <config.h> 41 #include <userspace.h> 36 42 #include <console/console.h> 37 43 … … 44 50 ski_init_console(); 45 51 it_init(); 52 config.init_addr = INIT_ADDRESS; 53 config.init_size = INIT_SIZE; 46 54 } 47 55 … … 54 62 } 55 63 56 57 64 void arch_post_smp_init(void) 58 65 { 59 66 } 67 68 /** Enter userspace and never return. */ 69 void userspace(void) 70 { 71 psr_t psr; 72 rsc_t rsc; 73 74 psr.value = psr_read(); 75 psr.cpl = PL_USER; 76 psr.i = true; /* start with interrupts enabled */ 77 psr.ic = true; 78 psr.ri = 0; /* start with instruction #0 */ 79 80 __asm__ volatile ("mov %0 = ar.rsc\n" : "=r" (rsc.value)); 81 rsc.loadrs = 0; 82 rsc.be = false; 83 rsc.pl = PL_USER; 84 rsc.mode = 3; /* eager mode */ 85 86 switch_to_userspace(UTEXT_ADDRESS, USTACK_ADDRESS+PAGE_SIZE-1, USTACK_ADDRESS, psr.value, rsc.value); 87 88 while (1) { 89 ; 90 } 91 }
Note:
See TracChangeset
for help on using the changeset viewer.