Matt Taylor

Results 67 comments of Matt Taylor

You don’t need to set up page tables, but you need to load *something* into cr3 when switching to long mode. There would need to be a way to specify...

Booting up the APs is usually done fairly late in the boot process. Some people may have switched to a different p4 table in this time, so I think it...

The bootloader doesn’t need to be involved with SMP at all. What *could* be useful is a crate which can be used for interacting with the LAPIC / I/O APICs,...

How many pages do you think is a good default? I can do a bit of investigation to see how much is being used.

On the blog_os/post-09 branch, 5 pages is the minimum that the kernel can use without crashing (in release, this number is 3). So maybe 10 or 16 would be a...

That’s excellent! I saw that crate too, but it seemed like it was going to be annoying to set up. Did you have to modify the linker script at all...

> If initialization is done only once it comes without any overhead because the allocator can request already-zeroed memory from the OS. It's the subsequent initializations that require memset(). This...

> I do not see a particular problem with the current Read The problem (IIUC) is that a caller to a generic Read implementation cannot pass uninitialised memory to be...

Minimal unsafe here. There are 3 areas where it’s used. The first one is: ```rust fn poll(&mut self) -> Poll { if self.buf.remaining_mut() == 0 { self.buf.reserve(INIT_BUFFER_SIZE); } // The...

See also rust-lang/unsafe-code-guidelines#158