Skip to content

Encoding metadata with programs #30

Open
@maximecb

Description

@maximecb

This is not the highest priority, but something to think about. Eventually, I think that programs should be able to store metadata. This should probably just be a third segment aside from the code and data segments. We can then leverage the assembler's logic to parse it.

Each field should have a name string (null-terminated?), followed by u32 length, and then some data. The data could be string for string fields, or binary data in the case of something like an app icon.

What kind of info do we want to store in the medatata?

  • program name (string)
  • version? (string)
  • short description (string, up to some number of characters, e.g. 255 chars)
  • Flags, such as specifying whether JIT compilation support is enabled, jit_enabled
    • This allows the program to write to its own code segment while running (implement a JIT)
    • May want to specify an address range or min address?
  • An icon to be used in a GUI, e.g. icon_32x32, RGB24 data
  • A list of required syscalls for the program to run

Metadata

Metadata

Assignees

No one assigned

    Labels

    proposalProposal for a new feature/API

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions