Changeset 8cd680c in mainline for kernel/arch/amd64/src/ddi/ddi.c
- Timestamp:
- 2014-08-18T20:34:28Z (11 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 6eeb4a3
- Parents:
- 8820544
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/arch/amd64/src/ddi/ddi.c
r8820544 r8cd680c 51 51 * 52 52 * @param task Task. 53 * @param ioaddr Starti gnI/O space address.53 * @param ioaddr Starting I/O space address. 54 54 * @param size Size of the enabled I/O range. 55 55 * 56 * @return 0on success or an error code from errno.h.56 * @return EOK on success or an error code from errno.h. 57 57 * 58 58 */ … … 106 106 task->arch.iomapver++; 107 107 108 return EOK; 109 } 110 111 /** Disable I/O space range for task. 112 * 113 * Interrupts are disabled and task is locked. 114 * 115 * @param task Task. 116 * @param ioaddr Starting I/O space address. 117 * @param size Size of the enabled I/O range. 118 * 119 * @return EOK on success or an error code from errno.h. 120 * 121 */ 122 int ddi_iospace_disable_arch(task_t *task, uintptr_t ioaddr, size_t size) 123 { 124 size_t elements = ioaddr + size; 125 if (elements > IO_PORTS) 126 return ENOENT; 127 128 if (ioaddr >= task->arch.iomap.elements) 129 return EINVAL; 130 131 if (task->arch.iomap.elements < elements) 132 size -= elements - task->arch.iomap.elements; 133 134 /* 135 * Disable the range. 136 */ 137 bitmap_set_range(&task->arch.iomap, (size_t) ioaddr, size); 138 139 /* 140 * Increment I/O Permission bitmap generation counter. 141 */ 142 task->arch.iomapver++; 143 108 144 return 0; 109 145 }
Note:
See TracChangeset
for help on using the changeset viewer.