#ifndef _KERNEL_AMD64_PROC_H
#define _KERNEL_AMD64_PROC_H

#include <amd64/intr.h>
#include <aux/compiler.h>
#include <libk/std.h>

/* Top of userspace process' stack */
#define PROC_USTACK_TOP 0x00007FFFFFFFF000ULL
/* Size of userspace process' stack */
#define USTACK_SIZE (256 * PAGE_SIZE)
/* proc_map () base address */
#define PROC_MAP_BASE 0x0000700000000000

/* Platform-dependent process data */
struct proc_platformdata {
  uint8_t fx_env[512] ALIGNED (16);
  struct saved_regs regs;
  uintptr_t kernel_stack;
  uint64_t fs_base;
  uintptr_t tls_vaddr;
};

#endif // _KERNEL_AMD64_PROC_H
