Compare commits

..

No commits in common. "0c73d69a7005941ddb47404cb412499f21bda33d" and "fde17272180fc72f4daf63bf457e3d5a16c7cb7f" have entirely different histories.

3 changed files with 3 additions and 13 deletions

View File

@ -70,6 +70,8 @@ You can choose between 3 run scripts:
`tools/debug.sh` will run Luna in QEMU with a port open for GDB to connect to. (run `tools/build-debug.sh`, `tools/gdb.sh`, and then `tools/debug.sh` in a separate terminal for an optimal debugging experience)
Beware that running without hardware acceleration does some weird stuff with the memory map, which is why I don't use it that often.
Essentially, since `run.sh` builds the toolchain if it hasn't been built, builds Luna if it hasn't been built, and runs it, you could just checkout this repo, run `run.sh`, and you're done. No need for the other scripts. Those are included for more fine-grained control/building step-by-step.
You can pass any arguments you want to the run scripts, and those will be forwarded to QEMU. Example: `tools/run.sh -m 512M -net none -machine q35`.

View File

@ -43,17 +43,7 @@ Option<MemoryMapEntry> MemoryMapIterator::at(usize index) const
Option<MemoryMapEntry> MemoryMapIterator::next()
{
auto entry = TRY(at(m_cur_ent++));
#ifdef ARCH_X86_64
// Workaround for https://gitlab.com/qemu-project/qemu/-/commit/8504f129450b909c88e199ca44facd35d38ba4de
// This invalid 12GiB reserved entry is made up by QEMU (doesn't appear on any real hardware), so we can simply
// ignore it and move on to the next entry.
if (entry.address() == 0x000000fd00000000 && entry.size() == (0x000000ffffffffff - 0x000000fd00000000) + 1)
return at(m_cur_ent++);
#endif
return entry;
return at(m_cur_ent++);
}
MemoryMapEntry MemoryMapIterator::largest_free()

View File

@ -113,8 +113,6 @@ template <typename T> class Option
explicit ErrorHandle()
{
}
friend class Option<T>;
};
Option(const ErrorHandle&) : m_has_value(false)