MCPcopy Create free account

hub / github.com/bendudson/EuraliOS / functions

Functions458 in github.com/bendudson/EuraliOS

↓ 3 callersMethodtake_memory_chunk
Remove a memory chunk from this thread's page table which contains the given virtual address. Note: Doesn't free the frames or pagetables
kernel/src/process.rs:261
↓ 3 callersMethodto_CommHandle
Convert to CommHandle EuraliOS only
euralios_std/src/fs.rs:239
↓ 3 callersMethodto_str
(&self)
euralios_std/src/ffi.rs:187
↓ 2 callersFunctionactive_level_1_table_containing
( addr: VirtAddr )
kernel/src/memory.rs:788
↓ 2 callersFunctionactive_level_4_table
This should only be called from the init function because each call will result in a mutable reference
kernel/src/memory.rs:90
↓ 2 callersFunctionactive_pagetable_ptr
()
kernel/src/memory.rs:229
↓ 2 callersFunctionallocate_pages
(level_4_table: *mut PageTable, start_addr: VirtAddr, size: u64,
kernel/src/memory.rs:273
↓ 2 callersFunctionallocate_pages_mapper
Allocate pages in the specified page table starting at the page containing virtual address \p start_addr and large enough to contain \p size bytes. \
kernel/src/memory.rs:243
↓ 2 callersFunctionallocate_user_stack
Allocate memory for a thread's user stack Uses 8 pages per thread: 7 for user stack, one guard page # Returns (user_stack_start, user_stack_end)
kernel/src/memory.rs:712
↓ 2 callersFunctionas_str
()
euralios_std/src/env.rs:15
↓ 2 callersMethodas_u8_slice
The following (private!) function reveals the byte encoding used for OsStr.
euralios_std/src/path.rs:311
↓ 2 callersFunctionawait_interrupt
Store a thread, to be scheduled when an interrupt occurs
kernel/src/interrupts.rs:324
↓ 2 callersFunctioncreate_user_ondemand_pages
Create user-accessible pages, which are allocated on demand ie when written to. One frame is allocated, and made writable through the first page in t
kernel/src/memory.rs:325
↓ 2 callersFunctiondisplay
(file: &File)
edit/src/main.rs:204
↓ 2 callersMethodfile_name
Return the bare file name of this directory entry without any other leading path component.
euralios_std/src/fs.rs:373
↓ 2 callersMethodfind
(&self, vendor_id: u16, device_id:u16)
pci/src/main.rs:73
↓ 2 callersFunctionfind_available_page_chunk
Find the starting address of an available chunk of pages Returns the index and virtual address of the start of the chunk or None if no chunks availab
kernel/src/memory.rs:492
↓ 2 callersMethodfinished
(&self)
euralios_std/src/path.rs:713
↓ 2 callersFunctionfree_pages_rec
Recursively free all pages and page tables, including the page table at the given table_physaddr.
kernel/src/memory.rs:649
↓ 2 callersFunctionget_kernel_segments
()
kernel/src/gdt.rs:130
↓ 2 callersFunctionget_user_segments
()
kernel/src/gdt.rs:134
↓ 2 callersMethodgive_memory_chunk
Add a memory chunk to this thread's page table
kernel/src/process.rs:272
↓ 2 callersFunctionhandle_file_readwrite
Serve messages received from a communication channel reading and writing data from a file
euralios_std/src/server.rs:194
↓ 2 callersMethodheader
(&self)
tcp/src/dns.rs:107
↓ 2 callersMethodid
(&self)
tcp/src/dns.rs:103
↓ 2 callersMethodinit
Initialise a bitmap allocator This function is unsafe because the caller must guarantee that the memory map and physical memory offset is correct.
kernel/src/memory/frame_allocator.rs:103
↓ 2 callersFunctioninportw
Read a word (16 bits) from a port
euralios_std/src/ports.rs:47
↓ 2 callersMethodis_absolute
Returns true if the Path is absolute, i.e., if it is independent of the current directory.
euralios_std/src/path.rs:350
↓ 2 callersMethodis_dir
Returns true if this metadata is for a directory. The result is mutually exclusive to the result of is_file
euralios_std/src/fs.rs:340
↓ 2 callersFunctionmap_consecutive_pages
Map a consecutive set of pages to a consecutive set of frames level_4_physaddr The physical address of the L4 pagetable start_page First page i
kernel/src/memory.rs:388
↓ 2 callersMethodmemory
(self)
euralios_std/src/message.rs:25
↓ 2 callersMethodmemory_chunk
Get the physical address and page table level of the memory chunk containing the given virtual address
kernel/src/process.rs:247
↓ 2 callersMethodnew_line
(&mut self)
kernel/src/vga_buffer.rs:79
↓ 2 callersFunctionnew_memory_chunk
Create a new memory chunk num_pages - Size of the memory chunk max_physaddr - If Some() then consecutive frames are allocated which are all below
kernel/src/process.rs:780
↓ 2 callersFunctionnew_user_thread
Create a new user thread # Arguments `bin` - ELF binary containing the program. Note: This must be accessible in the kernel page tables `params`
kernel/src/process.rs:463
↓ 2 callersMethodnext
(&mut self)
euralios_std/src/fs.rs:392
↓ 2 callersMethodnext
(&mut self)
euralios_std/src/path.rs:828
↓ 2 callersMethodnext_back
(&mut self)
euralios_std/src/path.rs:861
↓ 2 callersFunctionnonzero_bit_index
Return the index of a non-zero bit Uses the BSF instruction: <https://www.felixcloutier.com/x86/bsf> Assumes that at least one bit is not zero
kernel/src/memory/frame_allocator.rs:21
↓ 2 callersFunctionopen
Open a file or directory This will create files but not directories
euralios_std/src/server.rs:64
↓ 2 callersMethodparse_next_component
parse a component from the left, saying how many bytes to consume to remove the component
euralios_std/src/path.rs:779
↓ 2 callersMethodparse_next_component_back
parse a component from the right, saying how many bytes to consume to remove the component
euralios_std/src/path.rs:790
↓ 2 callersMethodparse_single_component
parse a given byte sequence into the corresponding path component
euralios_std/src/path.rs:766
↓ 2 callersMethodquery
Query a file handle EuraliOS only
euralios_std/src/fs.rs:246
↓ 2 callersMethodrcall
Remote call. Send a message and wait for a reply EuraliOS only
euralios_std/src/fs.rs:278
↓ 2 callersFunctionread_dir
( path: P )
euralios_std/src/fs.rs:400
↓ 2 callersMethodread_line
reads a line of input, appending it to the specified buffer. API from <https://doc.rust-lang.org/stable/std/io/trait.BufRead.html#method.read_line>:
euralios_std/src/io.rs:93
↓ 2 callersMethodreturn_frame
Put a frame back into the bitmap Input is the frame number returned by fetch_frame, not a physical address
kernel/src/memory/frame_allocator.rs:254
↓ 2 callersMethodsend
Send a message to a Rendezvous. Blocking or non-blocking If a `Box<Thread>` is provided then it is suspended until the message is received i.e. block
kernel/src/rendezvous.rs:38
↓ 2 callersFunctionstdin
Constructs a new handle to the standard input of the current process. Intended to have the same interface as the Rust std::io <https://doc.rust-lang.
euralios_std/src/io.rs:67
↓ 2 callersFunctionsys_send
This handles both syscall_send and syscall_sendreceive
kernel/src/syscalls.rs:370
↓ 2 callersFunctionthread_exit
Exit the current thread. Never returns.
euralios_std/src/syscalls.rs:215
↓ 2 callersFunctiontime_stamp_counter
Read the processor's Time Stamp Counter uses RDTSC <https://www.felixcloutier.com/x86/rdtsc>
kernel/src/time.rs:21
↓ 2 callersMethodto_path_buf
(&self)
euralios_std/src/path.rs:339
↓ 2 callersMethodto_values
Convert a Message to values which can be put into registers for a send or send_receive syscall. This should be the inverse of from_values, and consis
euralios_std/src/message.rs:77
↓ 2 callersMethodtruncate
Sets the option for truncating a previous file. If a file is successfully opened with this option set it will truncate the file to 0 length if it alr
euralios_std/src/fs.rs:139
↓ 2 callersFunctionu8_slice_as_os_str
(s: &[u8])
euralios_std/src/path.rs:21
↓ 2 callersMethodumount
Remove a mount point from the VFS
kernel/src/vfs.rs:43
↓ 2 callersMethodwrite
Sets the option for write access. This option, when true, will indicate that the file should be `write`-able if opened. If the file already exists,
euralios_std/src/fs.rs:76
↓ 2 callersMethodwrite_byte
(&mut self, byte: u8)
kernel/src/vga_buffer.rs:58
↓ 2 callersMethodwrite_string
Write a string to the buffer and (if active) video memory Interprets a subset of the ANSI escape codes <https://en.wikipedia.org/wiki/ANSI_escape_cod
vga_driver/src/main.rs:142
↓ 1 callersMethod_join
(&self, path: &Path)
euralios_std/src/path.rs:498
↓ 1 callersFunction_open
(path: &str, flags: u64)
euralios_std/src/syscalls.rs:352
↓ 1 callersMethod_open
(&self, path: &Path)
euralios_std/src/fs.rs:171
↓ 1 callersMethod_push
(&mut self, path: &Path)
euralios_std/src/path.rs:205
↓ 1 callersMethodactivate
Write to video memory
vga_driver/src/main.rs:90
↓ 1 callersMethodadd_handle
Add a Rendezvous to this process, returning the handle
kernel/src/process.rs:93
↓ 1 callersFunctionadd_server
Add a DNS server which can be used to resolve hostnames
tcp/src/dns.rs:142
↓ 1 callersFunctionadd_to_user_table
( mapper: &mut impl Mapper<Size4KiB>, frame_allocator: &mut impl FrameAllocator<Size4KiB>, )
kernel/src/memory/kernel_info.rs:57
↓ 1 callersMethodallocate_consecutive_frames
Allocate a set of consecutive frames
kernel/src/memory/frame_allocator.rs:371
↓ 1 callersFunctionallocate_missing_ondemand_frame
Allocate a read-only page which user code has attempted to write to. This is called by the page fault handler
kernel/src/memory.rs:808
↓ 1 callersFunctionargs
()
euralios_std/src/env.rs:8
↓ 1 callersMethodas_u64
Get the virtual address of the start of the memory region
euralios_std/src/syscalls.rs:107
↓ 1 callersMethodcapacity
(&self)
euralios_std/src/ffi.rs:105
↓ 1 callersMethodcapacity
(&self)
euralios_std/src/path.rs:147
↓ 1 callersMethodclear
Delete contents
euralios_std/src/server.rs:29
↓ 1 callersMethodclear_row
(&mut self, row: usize)
kernel/src/vga_buffer.rs:90
↓ 1 callersMethodclose
Close a Rendezvous. If a thread was waiting then it is returned and should be scheduled. An error SYSCALL_ERROR_CLOSED will be returned to the waitin
kernel/src/rendezvous.rs:198
↓ 1 callersFunctionconfigure
DHCP configuration on given interface Based on <https://github.com/vinc/moros/blob/trunk/src/usr/dhcp.rs>
tcp/src/dhcp.rs:17
↓ 1 callersMethodconsecutive_frames
Allocate a consecutive set of frames num_frames The number of frames required max_address The maximum physical address in the set e.g. for 32-bi
kernel/src/memory/frame_allocator.rs:302
↓ 1 callersMethodcopy
Make a copy of the internal state
kernel/src/vfs.rs:106
↓ 1 callersFunctioncopy_pages_rec
(physical_memory_offset: VirtAddr, from_table: &PageTable, to_table: &mut PageTable,
kernel/src/memory.rs:136
↓ 1 callersFunctioncopy_pagetables
Copy a set of pagetables
kernel/src/memory.rs:131
↓ 1 callersFunctioncreate_consecutive_pages
Allocates a consecutive set of frames start_addr Starting virtual address in page table num_frames Number of consecutive frames max_physadd
kernel/src/memory.rs:434
↓ 1 callersFunctioncreate_new_user_pagetable
Creates a PageTable containing only kernel pages - Copies the kernel pagetables into a new set of tables - Adds the KernelInfo read-only page Return
kernel/src/memory.rs:183
↓ 1 callersFunctioncreate_physical_range_pages
Create a mapping to a specific range of physical memory Doesn't do any frame allocation, so assumes that it's ok to use the memory. Used for mapping
kernel/src/memory.rs:464
↓ 1 callersMethoddeactivate
Stop writing to video memory Further updates are only made to the memory buffer, and then copied to video memory when `activate()` is called.
vga_driver/src/main.rs:112
↓ 1 callersMethodderef
(&self)
euralios_std/src/path.rs:259
↓ 1 callersFunctiondisplay_text
Display gophermap or text Returns a Command, which may be a Link containing a reference to part of the input data.
gopher/src/main.rs:62
↓ 1 callersFunctionexec_path
(current_directory: &Path, path: &Path, args: Vec<&str>)
shell/src/main.rs:16
↓ 1 callersFunctionexec_path
(path: &Path, vfs: VFS)
login/src/main.rs:16
↓ 1 callersFunctionexit_current_thread
This function is called via syscall (and maybe other mechanism) to remove the current thread.
kernel/src/process.rs:683
↓ 1 callersFunctionfork_current_thread
Fork the current user thread
kernel/src/process.rs:634
↓ 1 callersFunctionfree_memory_chunk
Free a memory chunk previously allocated with new_memory_chunk
kernel/src/process.rs:864
↓ 1 callersFunctionfree_page_chunk
Free a memory chunk, releasing the pages back to the frame allocator
kernel/src/memory.rs:530
↓ 1 callersFunctionfree_user_pagetables
Free all user-accessible pages and the page table frames Note: Must not be called to free the current page tables Switch to kernel pagetable before c
kernel/src/memory.rs:693
↓ 1 callersFunctionfree_user_stack
Free frames used for a thread stack given virtual address
kernel/src/memory.rs:835
↓ 1 callersFunctionget_args
()
euralios_std/src/lib.rs:51
↓ 1 callersMethodget_device
Return the Device which is at this PCI bus location May return None if there is no device
pci/src/device.rs:53
↓ 1 callersMethodget_dir
(&self, _name: &str)
pci/src/main.rs:31
← previousnext →101–200 of 458, ranked by callers