mirror of
https://github.com/drasko/codezero.git
synced 2026-01-12 10:53:16 +01:00
mm0 compiles, still previous issues on.
This commit is contained in:
@@ -209,6 +209,7 @@ void vm_object_print(struct vm_object *vmo);
|
||||
/* Used for pre-faulting a page from mm0 */
|
||||
int prefault_page(struct tcb *task, unsigned long address,
|
||||
unsigned int vmflags);
|
||||
struct page *page_init(struct page *page);
|
||||
|
||||
/* To get currently mapped page of a virtual address on a task */
|
||||
struct page *task_virt_to_page(struct tcb *t, unsigned long virtual);
|
||||
|
||||
@@ -289,15 +289,15 @@ int sys_read(l4id_t sender, int fd, void *buf, int count)
|
||||
|
||||
/* FIXME: Add error handling to this */
|
||||
/* Extends a file's size by adding it new pages */
|
||||
int new_file_pages(struct vmfile *f, unsigned long start, unsigned long end)
|
||||
int new_file_pages(struct vm_file *f, unsigned long start, unsigned long end)
|
||||
{
|
||||
unsigned long npages = end - start;
|
||||
struct page *page;
|
||||
void *vaddr, *paddr;
|
||||
int err;
|
||||
void *paddr;
|
||||
|
||||
/* Allocate the memory for new pages */
|
||||
paddr = alloc_page(npages);
|
||||
if (!(paddr = alloc_page(npages)))
|
||||
return -ENOMEM;
|
||||
|
||||
/* Process each page */
|
||||
for (unsigned long i = 0; i < npages; i++) {
|
||||
@@ -316,6 +316,8 @@ int new_file_pages(struct vmfile *f, unsigned long start, unsigned long end)
|
||||
|
||||
/* Update vm object */
|
||||
f->vm_obj.npages += npages;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* Writes user data in buffer into pages in cache */
|
||||
@@ -342,7 +344,6 @@ int sys_write(l4id_t sender, int fd, void *buf, int count)
|
||||
unsigned long cursor, byte_offset;
|
||||
struct vm_file *vmfile;
|
||||
struct tcb *t;
|
||||
int cnt;
|
||||
int err;
|
||||
|
||||
BUG_ON(!(t = find_task(sender)));
|
||||
|
||||
Reference in New Issue
Block a user