new: 初步完成了mmio地址空间自动分配(未测试)

bugfix: mmio虚拟地址分配的bug
This commit is contained in:
fslongjin
2022-08-20 01:05:15 +08:00
parent 05477932de
commit 0223232f3f
14 changed files with 317 additions and 56 deletions

View File

@ -7,19 +7,18 @@ void mmio_init();
* @brief 创建一块mmio区域并将vma绑定到initial_mm
*
* @param size mmio区域的大小字节
* @param length mmio区域长度
* @param vm_flags 要把vma设置成的标志
* @param res_vaddr 返回值-分配得到的虚拟地址
* @param res_length 返回值-分配的虚拟地址空间长度
* @return int 错误码
*/
int mmio_create(uint32_t size, uint64_t length, vm_flags_t vm_flags, uint64_t * res_vaddr, uint64_t *res_length);
int mmio_create(uint32_t size, vm_flags_t vm_flags, uint64_t * res_vaddr, uint64_t *res_size);
/**
* @brief 取消mmio的映射并将地址空间归还到buddy中
*
* @param vaddr 起始的虚拟地址
* @param length 要归还的地址空间的长度
* @param size 要归还的地址空间的长度
* @return int 错误码
*/
int mmio_release(uint64_t vaddr, uint64_t length);
int mmio_release(uint64_t vaddr, uint64_t size);