Changeset 357b5f5 in mainline for kernel/generic/src/ddi/ddi.c
- Timestamp:
- 2011-01-23T20:09:13Z (14 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- fdb9982c
- Parents:
- cead2aa (diff), 7e36c8d (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. - File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/generic/src/ddi/ddi.c
rcead2aa r357b5f5 232 232 * 233 233 */ 234 unative_t sys_physmem_map(unative_t phys_base, unative_t virt_base,235 unative_t pages, unative_t flags)236 { 237 return ( unative_t) ddi_physmem_map(ALIGN_DOWN((uintptr_t) phys_base,234 sysarg_t sys_physmem_map(sysarg_t phys_base, sysarg_t virt_base, 235 sysarg_t pages, sysarg_t flags) 236 { 237 return (sysarg_t) ddi_physmem_map(ALIGN_DOWN((uintptr_t) phys_base, 238 238 FRAME_SIZE), ALIGN_DOWN((uintptr_t) virt_base, PAGE_SIZE), 239 239 (size_t) pages, (int) flags); … … 247 247 * 248 248 */ 249 unative_t sys_iospace_enable(ddi_ioarg_t *uspace_io_arg)249 sysarg_t sys_iospace_enable(ddi_ioarg_t *uspace_io_arg) 250 250 { 251 251 ddi_ioarg_t arg; 252 252 int rc = copy_from_uspace(&arg, uspace_io_arg, sizeof(ddi_ioarg_t)); 253 253 if (rc != 0) 254 return ( unative_t) rc;255 256 return ( unative_t) ddi_iospace_enable((task_id_t) arg.task_id,254 return (sysarg_t) rc; 255 256 return (sysarg_t) ddi_iospace_enable((task_id_t) arg.task_id, 257 257 (uintptr_t) arg.ioaddr, (size_t) arg.size); 258 258 } 259 259 260 /** Disable or enable specified interrupts.261 *262 * @param irq the interrupt to be enabled/disabled.263 * @param enable if true enable the interrupt, disable otherwise.264 *265 * @retutn Zero on success, error code otherwise.266 */267 unative_t sys_interrupt_enable(int irq, int enable)268 {269 /* FIXME: this needs to be generic code, or better not be in kernel at all. */270 #if 0271 cap_t task_cap = cap_get(TASK);272 if (!(task_cap & CAP_IRQ_REG))273 return EPERM;274 275 if (irq < 0 || irq > 16) {276 return EINVAL;277 }278 279 uint16_t irq_mask = (uint16_t)(1 << irq);280 if (enable) {281 trap_virtual_enable_irqs(irq_mask);282 } else {283 trap_virtual_disable_irqs(irq_mask);284 }285 286 #endif287 return 0;288 }289 290 260 /** @} 291 261 */
Note:
See TracChangeset
for help on using the changeset viewer.