Initial commit: Schunix as it stands before the SchOS rename
An x86-64 operating system built from xv6, now largely rewritten: SMP, a copy-on-write root filesystem (SchFS), PCI/USB/virtio drivers, a TTF rasteriser, and a Linux-numbered syscall ABI. No history before this point -- the tree was never under version control. This commit exists so the rename that follows has something to undo to.
This commit is contained in:
commit
d0f7acf9eb
275 changed files with 51417 additions and 0 deletions
35
include/elf.h
Normal file
35
include/elf.h
Normal file
|
|
@ -0,0 +1,35 @@
|
|||
#define ELF_MAGIC 0x464C457FU
|
||||
|
||||
struct elfhdr {
|
||||
uint32 magic;
|
||||
uchar elf[12];
|
||||
uint16 type;
|
||||
uint16 machine;
|
||||
uint32 version;
|
||||
uint64 entry;
|
||||
uint64 phoff;
|
||||
uint64 shoff;
|
||||
uint32 flags;
|
||||
uint16 ehsize;
|
||||
uint16 phentsize;
|
||||
uint16 phnum;
|
||||
uint16 shentsize;
|
||||
uint16 shnum;
|
||||
uint16 shstrndx;
|
||||
};
|
||||
|
||||
struct proghdr {
|
||||
uint32 type;
|
||||
uint32 flags;
|
||||
uint64 off;
|
||||
uint64 vaddr;
|
||||
uint64 paddr;
|
||||
uint64 filesz;
|
||||
uint64 memsz;
|
||||
uint64 align;
|
||||
};
|
||||
|
||||
#define ELF_PROG_LOAD 1
|
||||
#define ELF_PROG_FLAG_EXEC 1
|
||||
#define ELF_PROG_FLAG_WRITE 2
|
||||
#define ELF_PROG_FLAG_READ 4
|
||||
Loading…
Reference in a new issue