PatchworkOS  19e446b
A non-POSIX operating system.
Loading...
Searching...
No Matches
mdl.c File Reference
#include <kernel/mem/mdl.h>
#include <kernel/mem/paging_types.h>
#include <kernel/mem/space.h>
#include <kernel/proc/process.h>
#include <errno.h>
#include <stdlib.h>
#include <string.h>
#include <sys/proc.h>
Include dependency graph for mdl.c:

Go to the source code of this file.

Functions

void mdl_deinit (mdl_t *mdl)
 Deinitialize a Memory Descriptor List.
 
void mdl_free_chain (mdl_t *mdl, void(*free)(void *))
 Free a Memory Descriptor List chain.
 
uint64_t mdl_from_region (mdl_t *mdl, mdl_t *prev, space_t *space, const void *addr, size_t size)
 Initialize a Memory Descriptor List from a memory region.
 
static uint64_t mdl_push (mdl_t *mdl, phys_addr_t phys, size_t size)
 
uint64_t mdl_add (mdl_t *mdl, space_t *space, const void *addr, size_t size)
 Add a memory region to the Memory Descriptor List.
 
uint64_t mdl_read (mdl_t *mdl, void *buffer, size_t count, size_t offset)
 Read from a Memory Descriptor List into a buffer.
 
uint64_t mdl_write (mdl_t *mdl, const void *buffer, size_t count, size_t offset)
 Write to a Memory Descriptor List from a buffer.
 

Function Documentation

◆ mdl_push()

static uint64_t mdl_push ( mdl_t mdl,
phys_addr_t  phys,
size_t  size 
)
static

Definition at line 66 of file mdl.c.

Here is the call graph for this function:
Here is the caller graph for this function: