Skip to content

Placeholders and todos!(...) #1235

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
1 of 17 tasks
chl337 opened this issue May 14, 2024 · 3 comments
Open
1 of 17 tasks

Placeholders and todos!(...) #1235

chl337 opened this issue May 14, 2024 · 3 comments
Labels
enhancement New feature or request help wanted Extra attention is needed

Comments

@chl337
Copy link
Collaborator

chl337 commented May 14, 2024

A list of functions/functionalities that are not properly implemented:

  • qkernel/src/interrupt/aarch64/mod.rs:
    • init() => Set up GIC
    • InitSingleton()
    • Add check for ESR.ISS.FnV => Sanity check for FAR_El1
  • qlib/kernel/SignalDef.rs
    • VDSO_OFFSET_SIGRETURN => replace with proper VDSO parser
    • FP state on signal handling
  • qlib/kernel/arch/aarch64/arch_def.rs
    • SanitizeUser() => FP state
    • Reset() => FP state
  • qlib/kernel/asm/aarch64.rs
    • AsmHostID() => No native instruction on aarch64
    • fninit() => FPU init
  • qlib/kernel/loader/loader.rs
    • HWCAP for aarch64
  • qlib/kernel/memmgr/pma.rs
    • PageMgr::Clear()
  • qlib/mutex.rs
    • CmpExchg() => No native instruction on aarch64
    • LoadOnce()
  • qvisor/src/vmspace/mod.rs
    • HostID()
  • backtrace implementation
  • SIMD support in kernel (low priority)
  • refactor Qlib (priority medium)

NOTE

The placeholders where needed during the porting from x86_64. Because the main branch has also leftovers, before adding implementation check if the function is actually needed or it can be removed.

If you start working on an item of the list

  • open a new issue
  • reference this one

to avoid duplication.

@chl337 chl337 added enhancement New feature or request help wanted Extra attention is needed labels May 14, 2024
@shrik3
Copy link
Collaborator

shrik3 commented May 14, 2024

if I may add,

  1. the signal handling is ignoring the FP state.
  2. we don't support SIMD in the kernel (should we? saving/restoring vector registers would be quite expensive.)

@chl337
Copy link
Collaborator Author

chl337 commented May 14, 2024 via email

@shrik3
Copy link
Collaborator

shrik3 commented May 21, 2024

not only for aarch64: we want breakpoints and gdb! XD

@chl337 chl337 changed the title aarch64: Placeholders and todos!(...) Placeholders and todos!(...) May 22, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request help wanted Extra attention is needed
Projects
None yet
Development

No branches or pull requests

2 participants