Changes in / [3df2907:09c954b] in mainline
- Files:
-
- 10 edited
Legend:
- Unmodified
- Added
- Removed
-
boot/arch/ia64/src/pal_asm.S
r3df2907 r09c954b 32 32 33 33 pal_static_call: 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 34 alloc loc0 = ar.pfs, 7, 5, 0, 0 40 35 41 mov loc 2= gp42 mov loc 3= rp36 mov loc1 = gp 37 mov loc2 = rp 43 38 44 addl loc 4= @gprel(pal_proc), gp45 39 addl loc3 = @gprel(pal_proc), gp 40 46 41 mov r28 = in0 47 42 mov r29 = in1 … … 49 44 mov r31 = in3 ;; 50 45 51 ld8 loc 4 = [loc4]52 movl loc 5= 0f ;;46 ld8 loc3 = [loc3] 47 movl loc4 = 0f ;; 53 48 54 mov b6 = loc 455 mov rp = loc 5;;49 mov b6 = loc3 50 mov rp = loc4 ;; 56 51 br.cond.sptk.many b6 57 52 58 53 0: 59 mov psr.l = loc1 ;;60 srlz.i61 srlz.d62 63 54 cmp.ne p7,p0 = 0, in4 64 55 cmp.ne p8,p0 = 0, in5 … … 69 60 (p9) st8 [in6] = r11 70 61 71 mov gp = loc 272 mov rp = loc 3;;62 mov gp = loc1 63 mov rp = loc2 ;; 73 64 74 65 mov ar.pfs = loc0 -
boot/arch/ia64/src/sal_asm.S
r3df2907 r09c954b 29 29 .explicit 30 30 31 #define STACK_SCRATCH_AREA 1632 #define STACK_IN8 (0 + STACK_SCRATCH_AREA)33 #define STACK_IN9 (8 + STACK_SCRATCH_AREA)34 #define STACK_IN10 (16 + STACK_SCRATCH_AREA)35 36 31 .global sal_call 37 32 … … 44 39 # 45 40 sal_call: 46 alloc loc0 = ar.pfs, 8, 8, 8, 041 alloc loc0 = ar.pfs, 11, 5, 8, 0 47 42 48 adds sp = -STACK_SCRATCH_AREA, sp49 50 43 mov loc1 = gp 51 44 mov loc2 = rp … … 64 57 65 58 ld8 loc3 = [loc3] 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] 59 ld8 gp = [loc4] ;; 75 60 76 61 mov b6 = loc3 ;; 77 62 br.call.sptk.many rp = b6 78 63 79 cmp.ne p7,p0 = 0, loc580 cmp.ne p8,p0 = 0, loc681 cmp.ne p9,p0 = 0, loc7;;64 cmp.ne p7,p0 = 0, in8 65 cmp.ne p8,p0 = 0, in9 66 cmp.ne p9,p0 = 0, in10 ;; 82 67 83 (p7) st8 [ loc5] = r984 (p8) st8 [ loc6] = r1085 (p9) st8 [ loc7] = r1168 (p7) st8 [in8] = r9 69 (p8) st8 [in9] = r10 70 (p9) st8 [in10] = r11 86 71 87 72 mov gp = loc1 88 mov rp = loc2 89 90 adds sp = STACK_SCRATCH_AREA, sp ;; 73 mov rp = loc2 ;; 91 74 92 75 mov ar.pfs = loc0 93 76 br.ret.sptk.many rp 94 -
kernel/arch/ia64/include/asm.h
r3df2907 r09c954b 61 61 asm volatile ( 62 62 "mf\n" 63 "mf.a\n"64 63 ::: "memory" 65 64 ); … … 75 74 asm volatile ( 76 75 "mf\n" 77 "mf.a\n"78 76 ::: "memory" 79 77 ); … … 89 87 asm volatile ( 90 88 "mf\n" 91 "mf.a\n"92 89 ::: "memory" 93 90 ); … … 107 104 else 108 105 v = *port; 109 110 asm volatile (111 "mf.a\n"112 ::: "memory"113 );114 106 115 107 return v; … … 129 121 else 130 122 v = *port; 131 132 asm volatile (133 "mf.a\n"134 ::: "memory"135 );136 123 137 124 return v; … … 151 138 else 152 139 v = *port; 153 154 asm volatile (155 "mf.a\n"156 ::: "memory"157 );158 140 159 141 return v; -
kernel/arch/ia64/src/ia64.c
r3df2907 r09c954b 144 144 #endif 145 145 #ifdef MACHINE_i460GX 146 platform = " pc";146 platform = "i460GX"; 147 147 #endif 148 148 sysinfo_set_item_data("platform", NULL, (void *) platform, -
kernel/generic/src/ipc/irq.c
r3df2907 r09c954b 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 360 363 /* Remove the IRQ from the answerbox's list. */ 361 364 list_remove(&irq->notif_cfg.link); … … 375 378 irq_spinlock_unlock(&box->irq_lock, false); 376 379 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 427 430 /* 428 431 * We need to drop the IRQ lock now because hash_table_remove() … … 436 439 /* Remove from the hash table. */ 437 440 hash_table_remove(&irq_uspace_hash_table, key, 2); 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); 441 446 442 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);451 443 } 452 444 -
kernel/generic/src/mm/page.c
r3df2907 r09c954b 168 168 int page_find_mapping(uintptr_t virt, void **phys) 169 169 { 170 page_table_lock(AS, true);170 mutex_lock(&AS->lock); 171 171 172 172 pte_t *pte = page_mapping_find(AS, virt, false); 173 173 if ((!PTE_VALID(pte)) || (!PTE_PRESENT(pte))) { 174 page_table_unlock(AS, true);174 mutex_unlock(&AS->lock); 175 175 return ENOENT; 176 176 } … … 179 179 (virt - ALIGN_DOWN(virt, PAGE_SIZE)); 180 180 181 page_table_unlock(AS, true);181 mutex_unlock(&AS->lock); 182 182 183 183 return EOK; -
uspace/drv/bus/usb/uhci/transfer_list.c
r3df2907 r09c954b 110 110 assert(instance); 111 111 assert(uhci_batch); 112 usb_log_debug2(" Batch %p adding to queue %s.\n",113 uhci_batch->usb_batch , instance->name);112 usb_log_debug2("Queue %s: Adding batch(%p).\n", instance->name, 113 uhci_batch->usb_batch); 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 142 " scheduled in queue %s.\n", uhci_batch->usb_batch,143 USB_TRANSFER_BATCH_ARGS(*uhci_batch->usb_batch),instance->name);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); 144 144 fibril_mutex_unlock(&instance->guard); 145 145 } … … 205 205 assert(fibril_mutex_is_locked(&instance->guard)); 206 206 207 usb_log_debug2(" Batch %p removing from queue %s.\n",208 uhci_batch->usb_batch, instance->name);207 usb_log_debug2("Queue %s: removing batch(%p).\n", 208 instance->name, uhci_batch->usb_batch); 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", uhci_batch->usb_batch,231 USB_TRANSFER_BATCH_ARGS(*uhci_batch->usb_batch),230 "from %s, next: %x.\n", 231 uhci_batch, 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
r3df2907 r09c954b 174 174 assert(uhci_batch->usb_batch->ep != NULL); 175 175 176 usb_log_debug("Batch %p found error TD(%zu->%p):%"176 usb_log_debug("Batch(%p) found error TD(%zu):%" 177 177 PRIx32 ".\n", uhci_batch->usb_batch, i, 178 &uhci_batch->tds[i],uhci_batch->tds[i].status);178 uhci_batch->tds[i].status); 179 179 td_print_status(&uhci_batch->tds[i]); 180 180 -
uspace/drv/infrastructure/root/root.c
r3df2907 r09c954b 158 158 if (asprintf(&match_id, PLATFORM_FUN_MATCH_ID_FMT, platform) == -1) { 159 159 ddf_msg(LVL_ERROR, "Memory allocation failed."); 160 free(platform); 161 return ENOMEM; 162 } 163 164 free(platform); 160 return ENOMEM; 161 } 165 162 166 163 /* Add function. */ … … 172 169 if (fun == NULL) { 173 170 ddf_msg(LVL_ERROR, "Error creating function %s", name); 174 free(match_id);175 171 return ENOMEM; 176 172 } … … 180 176 ddf_msg(LVL_ERROR, "Failed adding match IDs to function %s", 181 177 name); 182 free(match_id);183 178 ddf_fun_destroy(fun); 184 179 return rc; … … 213 208 * vital for the system. 214 209 */ 215 (void)add_virtual_root_fun(dev);210 add_virtual_root_fun(dev); 216 211 217 212 /* Register root device's children. */ -
uspace/lib/c/arch/ia64/include/ddi.h
r3df2907 r09c954b 62 62 63 63 asm volatile ("mf\n" ::: "memory"); 64 asm volatile ("mf.a\n" ::: "memory");65 64 } 66 65 … … 77 76 78 77 asm volatile ("mf\n" ::: "memory"); 79 asm volatile ("mf.a\n" ::: "memory");80 78 } 81 79 … … 92 90 93 91 asm volatile ("mf\n" ::: "memory"); 94 asm volatile ("mf.a\n" ::: "memory");95 92 } 96 93 … … 109 106 v = *port; 110 107 } 111 112 asm volatile ("mf.a\n" ::: "memory");113 108 114 109 return v; … … 130 125 } 131 126 132 asm volatile ("mf.a\n" ::: "memory");133 134 127 return v; 135 128 } … … 141 134 asm volatile ("mf\n" ::: "memory"); 142 135 143 if (port < (ioport32_t *) IO_SPACE_BOUNDARY) {136 if (port < (ioport32_t *) port) { 144 137 uintptr_t prt = (uintptr_t) port; 145 138 … … 150 143 } 151 144 152 asm volatile ("mf.a\n" ::: "memory");153 154 145 return v; 155 146 }
Note:
See TracChangeset
for help on using the changeset viewer.