Changeset 3df2907 in mainline
- Timestamp:
- 2012-02-27T12:58:00Z (13 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 31718d1
- Parents:
- 09c954b (diff), b64fbc9 (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the(diff)
links above to see all the changes relative to each parent. - Files:
-
- 10 edited
Legend:
- Unmodified
- Added
- Removed
-
boot/arch/ia64/src/pal_asm.S
r09c954b r3df2907 32 32 33 33 pal_static_call: 34 alloc loc0 = ar.pfs, 7, 5, 0, 0 34 alloc loc0 = ar.pfs, 7, 6, 0, 0 35 36 mov loc1 = psr ;; 37 mov psr.l = r0 ;; 38 srlz.i 39 srlz.d 35 40 36 mov loc 1= gp37 mov loc 2= rp41 mov loc2 = gp 42 mov loc3 = rp 38 43 39 addl loc 3= @gprel(pal_proc), gp40 44 addl loc4 = @gprel(pal_proc), gp 45 41 46 mov r28 = in0 42 47 mov r29 = in1 … … 44 49 mov r31 = in3 ;; 45 50 46 ld8 loc 3 = [loc3]47 movl loc 4= 0f ;;51 ld8 loc4 = [loc4] 52 movl loc5 = 0f ;; 48 53 49 mov b6 = loc 350 mov rp = loc 4;;54 mov b6 = loc4 55 mov rp = loc5 ;; 51 56 br.cond.sptk.many b6 52 57 53 58 0: 59 mov psr.l = loc1 ;; 60 srlz.i 61 srlz.d 62 54 63 cmp.ne p7,p0 = 0, in4 55 64 cmp.ne p8,p0 = 0, in5 … … 60 69 (p9) st8 [in6] = r11 61 70 62 mov gp = loc 163 mov rp = loc 2;;71 mov gp = loc2 72 mov rp = loc3 ;; 64 73 65 74 mov ar.pfs = loc0 -
boot/arch/ia64/src/sal_asm.S
r09c954b r3df2907 29 29 .explicit 30 30 31 #define STACK_SCRATCH_AREA 16 32 #define STACK_IN8 (0 + STACK_SCRATCH_AREA) 33 #define STACK_IN9 (8 + STACK_SCRATCH_AREA) 34 #define STACK_IN10 (16 + STACK_SCRATCH_AREA) 35 31 36 .global sal_call 32 37 … … 39 44 # 40 45 sal_call: 41 alloc loc0 = ar.pfs, 11, 5, 8, 046 alloc loc0 = ar.pfs, 8, 8, 8, 0 42 47 48 adds sp = -STACK_SCRATCH_AREA, sp 49 43 50 mov loc1 = gp 44 51 mov loc2 = rp … … 57 64 58 65 ld8 loc3 = [loc3] 59 ld8 gp = [loc4] ;; 66 ld8 gp = [loc4] 67 68 adds r14 = STACK_IN8 + STACK_SCRATCH_AREA, sp 69 adds r15 = STACK_IN9 + STACK_SCRATCH_AREA, sp 70 adds r16 = STACK_IN10 + STACK_SCRATCH_AREA, sp ;; 71 72 ld8 loc5 = [r14] 73 ld8 loc6 = [r15] 74 ld8 loc7 = [r16] 60 75 61 76 mov b6 = loc3 ;; 62 77 br.call.sptk.many rp = b6 63 78 64 cmp.ne p7,p0 = 0, in865 cmp.ne p8,p0 = 0, in966 cmp.ne p9,p0 = 0, in10;;79 cmp.ne p7,p0 = 0, loc5 80 cmp.ne p8,p0 = 0, loc6 81 cmp.ne p9,p0 = 0, loc7 ;; 67 82 68 (p7) st8 [ in8] = r969 (p8) st8 [ in9] = r1070 (p9) st8 [ in10] = r1183 (p7) st8 [loc5] = r9 84 (p8) st8 [loc6] = r10 85 (p9) st8 [loc7] = r11 71 86 72 87 mov gp = loc1 73 mov rp = loc2 ;; 88 mov rp = loc2 89 90 adds sp = STACK_SCRATCH_AREA, sp ;; 74 91 75 92 mov ar.pfs = loc0 76 93 br.ret.sptk.many rp 94 -
kernel/arch/ia64/include/asm.h
r09c954b r3df2907 61 61 asm volatile ( 62 62 "mf\n" 63 "mf.a\n" 63 64 ::: "memory" 64 65 ); … … 74 75 asm volatile ( 75 76 "mf\n" 77 "mf.a\n" 76 78 ::: "memory" 77 79 ); … … 87 89 asm volatile ( 88 90 "mf\n" 91 "mf.a\n" 89 92 ::: "memory" 90 93 ); … … 104 107 else 105 108 v = *port; 109 110 asm volatile ( 111 "mf.a\n" 112 ::: "memory" 113 ); 106 114 107 115 return v; … … 121 129 else 122 130 v = *port; 131 132 asm volatile ( 133 "mf.a\n" 134 ::: "memory" 135 ); 123 136 124 137 return v; … … 138 151 else 139 152 v = *port; 153 154 asm volatile ( 155 "mf.a\n" 156 ::: "memory" 157 ); 140 158 141 159 return v; -
kernel/arch/ia64/src/ia64.c
r09c954b r3df2907 144 144 #endif 145 145 #ifdef MACHINE_i460GX 146 platform = " i460GX";146 platform = "pc"; 147 147 #endif 148 148 sysinfo_set_item_data("platform", NULL, (void *) platform, -
kernel/generic/src/ipc/irq.c
r09c954b r3df2907 358 358 ASSERT(irq->notif_cfg.answerbox == box); 359 359 360 /* Free up the pseudo code and associated structures. */361 code_free(irq->notif_cfg.code);362 363 360 /* Remove the IRQ from the answerbox's list. */ 364 361 list_remove(&irq->notif_cfg.link); … … 378 375 irq_spinlock_unlock(&box->irq_lock, false); 379 376 irq_spinlock_unlock(&irq_uspace_hash_table_lock, true); 377 378 /* Free up the pseudo code and associated structures. */ 379 code_free(irq->notif_cfg.code); 380 380 381 381 /* Free up the IRQ structure. */ … … 425 425 list_remove(&irq->notif_cfg.link); 426 426 427 /* Free up the pseudo code and associated structures. */428 code_free(irq->notif_cfg.code);429 430 427 /* 431 428 * We need to drop the IRQ lock now because hash_table_remove() … … 439 436 /* Remove from the hash table. */ 440 437 hash_table_remove(&irq_uspace_hash_table, key, 2); 441 438 439 /* 440 * Release both locks so that we can free the pseudo code. 441 */ 442 irq_spinlock_unlock(&box->irq_lock, false); 443 irq_spinlock_unlock(&irq_uspace_hash_table_lock, true); 444 445 code_free(irq->notif_cfg.code); 442 446 free(irq); 447 448 /* Reacquire both locks before taking another round. */ 449 irq_spinlock_lock(&irq_uspace_hash_table_lock, true); 450 irq_spinlock_lock(&box->irq_lock, false); 443 451 } 444 452 -
kernel/generic/src/mm/page.c
r09c954b r3df2907 168 168 int page_find_mapping(uintptr_t virt, void **phys) 169 169 { 170 mutex_lock(&AS->lock);170 page_table_lock(AS, true); 171 171 172 172 pte_t *pte = page_mapping_find(AS, virt, false); 173 173 if ((!PTE_VALID(pte)) || (!PTE_PRESENT(pte))) { 174 mutex_unlock(&AS->lock);174 page_table_unlock(AS, true); 175 175 return ENOENT; 176 176 } … … 179 179 (virt - ALIGN_DOWN(virt, PAGE_SIZE)); 180 180 181 mutex_unlock(&AS->lock);181 page_table_unlock(AS, true); 182 182 183 183 return EOK; -
uspace/drv/bus/usb/uhci/transfer_list.c
r09c954b r3df2907 110 110 assert(instance); 111 111 assert(uhci_batch); 112 usb_log_debug2(" Queue %s: Adding batch(%p).\n", instance->name,113 uhci_batch->usb_batch );112 usb_log_debug2("Batch %p adding to queue %s.\n", 113 uhci_batch->usb_batch, instance->name); 114 114 115 115 fibril_mutex_lock(&instance->guard); … … 139 139 list_append(&uhci_batch->link, &instance->batch_list); 140 140 141 usb_log_debug2("Batch %p " USB_TRANSFER_BATCH_FMT " scheduled in queue %s.\n",142 uhci_batch, USB_TRANSFER_BATCH_ARGS(*uhci_batch->usb_batch),143 instance->name);141 usb_log_debug2("Batch %p " USB_TRANSFER_BATCH_FMT 142 " scheduled in queue %s.\n", uhci_batch->usb_batch, 143 USB_TRANSFER_BATCH_ARGS(*uhci_batch->usb_batch), instance->name); 144 144 fibril_mutex_unlock(&instance->guard); 145 145 } … … 205 205 assert(fibril_mutex_is_locked(&instance->guard)); 206 206 207 usb_log_debug2(" Queue %s: removing batch(%p).\n",208 instance->name, uhci_batch->usb_batch);207 usb_log_debug2("Batch %p removing from queue %s.\n", 208 uhci_batch->usb_batch, instance->name); 209 209 210 210 /* Assume I'm the first */ … … 228 228 list_remove(&uhci_batch->link); 229 229 usb_log_debug2("Batch %p " USB_TRANSFER_BATCH_FMT " removed (%s) " 230 "from %s, next: %x.\n", 231 uhci_batch,USB_TRANSFER_BATCH_ARGS(*uhci_batch->usb_batch),230 "from %s, next: %x.\n", uhci_batch->usb_batch, 231 USB_TRANSFER_BATCH_ARGS(*uhci_batch->usb_batch), 232 232 qpos, instance->name, uhci_batch->qh->next); 233 233 } -
uspace/drv/bus/usb/uhci/uhci_batch.c
r09c954b r3df2907 174 174 assert(uhci_batch->usb_batch->ep != NULL); 175 175 176 usb_log_debug("Batch (%p) found error TD(%zu):%"176 usb_log_debug("Batch %p found error TD(%zu->%p):%" 177 177 PRIx32 ".\n", uhci_batch->usb_batch, i, 178 uhci_batch->tds[i].status);178 &uhci_batch->tds[i], uhci_batch->tds[i].status); 179 179 td_print_status(&uhci_batch->tds[i]); 180 180 -
uspace/drv/infrastructure/root/root.c
r09c954b r3df2907 158 158 if (asprintf(&match_id, PLATFORM_FUN_MATCH_ID_FMT, platform) == -1) { 159 159 ddf_msg(LVL_ERROR, "Memory allocation failed."); 160 return ENOMEM; 161 } 160 free(platform); 161 return ENOMEM; 162 } 163 164 free(platform); 162 165 163 166 /* Add function. */ … … 169 172 if (fun == NULL) { 170 173 ddf_msg(LVL_ERROR, "Error creating function %s", name); 174 free(match_id); 171 175 return ENOMEM; 172 176 } … … 176 180 ddf_msg(LVL_ERROR, "Failed adding match IDs to function %s", 177 181 name); 182 free(match_id); 178 183 ddf_fun_destroy(fun); 179 184 return rc; … … 208 213 * vital for the system. 209 214 */ 210 add_virtual_root_fun(dev);215 (void) add_virtual_root_fun(dev); 211 216 212 217 /* Register root device's children. */ -
uspace/lib/c/arch/ia64/include/ddi.h
r09c954b r3df2907 62 62 63 63 asm volatile ("mf\n" ::: "memory"); 64 asm volatile ("mf.a\n" ::: "memory"); 64 65 } 65 66 … … 76 77 77 78 asm volatile ("mf\n" ::: "memory"); 79 asm volatile ("mf.a\n" ::: "memory"); 78 80 } 79 81 … … 90 92 91 93 asm volatile ("mf\n" ::: "memory"); 94 asm volatile ("mf.a\n" ::: "memory"); 92 95 } 93 96 … … 106 109 v = *port; 107 110 } 111 112 asm volatile ("mf.a\n" ::: "memory"); 108 113 109 114 return v; … … 125 130 } 126 131 132 asm volatile ("mf.a\n" ::: "memory"); 133 127 134 return v; 128 135 } … … 134 141 asm volatile ("mf\n" ::: "memory"); 135 142 136 if (port < (ioport32_t *) port) {143 if (port < (ioport32_t *) IO_SPACE_BOUNDARY) { 137 144 uintptr_t prt = (uintptr_t) port; 138 145 … … 143 150 } 144 151 152 asm volatile ("mf.a\n" ::: "memory"); 153 145 154 return v; 146 155 }
Note:
See TracChangeset
for help on using the changeset viewer.