Build improvements
This commit is contained in:
parent
32d5f6740a
commit
76108674d1
21
SConstruct
21
SConstruct
@ -1,5 +1,6 @@
|
||||
import sys
|
||||
import os
|
||||
import shutil
|
||||
import multiprocessing
|
||||
import SCons.Util
|
||||
|
||||
@ -103,6 +104,21 @@ def GetNumCPUs(env):
|
||||
|
||||
env.SetOption('num_jobs', GetNumCPUs(env))
|
||||
|
||||
def CopyTree(dst, src, env):
|
||||
def DirCopyHelper(src, dst):
|
||||
for f in os.listdir(src):
|
||||
srcPath = os.path.join(src, f)
|
||||
dstPath = os.path.join(dst, f)
|
||||
if os.path.isdir(srcPath):
|
||||
if not os.path.exists(dstPath):
|
||||
os.makedirs(dstPath)
|
||||
DirCopyHelper(srcPath, dstPath)
|
||||
else:
|
||||
env.Command(dstPath, srcPath, Copy("$TARGET", "$SOURCE"))
|
||||
if (not os.path.exists(dst)):
|
||||
os.makedirs(dst)
|
||||
DirCopyHelper(src, dst)
|
||||
|
||||
# XXX: Hack to support clang static analyzer
|
||||
def CheckFailed():
|
||||
if os.getenv('CCC_ANALYZER_OUTPUT_FORMAT') != None:
|
||||
@ -126,6 +142,11 @@ Export('env')
|
||||
|
||||
# Debugging Tools
|
||||
|
||||
# Create include tree
|
||||
CopyTree('build/include', 'include', env)
|
||||
CopyTree('build/include/sys', 'sys/include', env)
|
||||
CopyTree('build/include/machine', 'sys/' + env['ARCH'] + '/include', env)
|
||||
|
||||
# Build Targets
|
||||
SConscript('sys/SConscript', variant_dir='build/sys')
|
||||
|
||||
|
@ -51,7 +51,7 @@ kern_env.Append(CPPFLAGS = ['-ffreestanding', '-fno-builtin', '-nostdinc',
|
||||
'-mno-red-zone', '-mno-mmx', '-mno-sse',
|
||||
'-mcmodel=large'])
|
||||
# '-target', 'amd64-orion-eabi'
|
||||
kern_env.Append(CPPPATH = ['#include', '#sys/include'])
|
||||
kern_env.Append(CPPPATH = ['#build/include'])
|
||||
|
||||
kernel = kern_env.Program("castor", src)
|
||||
Depends(kernel, ldscript)
|
||||
|
@ -1,13 +1,13 @@
|
||||
|
||||
#include <stdint.h>
|
||||
|
||||
#include <kassert.h>
|
||||
#include <kconfig.h>
|
||||
#include <mp.h>
|
||||
#include <spinlock.h>
|
||||
#include <sys/kassert.h>
|
||||
#include <sys/kconfig.h>
|
||||
#include <sys/mp.h>
|
||||
#include <sys/spinlock.h>
|
||||
|
||||
#include "amd64.h"
|
||||
#include "amd64op.h"
|
||||
#include <machine/amd64.h>
|
||||
#include <machine/amd64op.h>
|
||||
|
||||
uint32_t lockLevel[MAX_CPUS];
|
||||
|
||||
|
@ -2,14 +2,14 @@
|
||||
#include <stdbool.h>
|
||||
#include <stdint.h>
|
||||
|
||||
#include <kassert.h>
|
||||
#include <kconfig.h>
|
||||
#include <kdebug.h>
|
||||
#include <mp.h>
|
||||
#include <sys/kassert.h>
|
||||
#include <sys/kconfig.h>
|
||||
#include <sys/kdebug.h>
|
||||
#include <sys/mp.h>
|
||||
|
||||
#include "amd64.h"
|
||||
#include "amd64op.h"
|
||||
#include "trap.h"
|
||||
#include <machine/amd64.h>
|
||||
#include <machine/amd64op.h>
|
||||
#include <machine/trap.h>
|
||||
|
||||
TrapFrame *frames[MAX_CPUS];
|
||||
|
||||
|
@ -32,8 +32,8 @@
|
||||
#include <stdint.h>
|
||||
#include <string.h>
|
||||
|
||||
#include <kassert.h>
|
||||
#include <kdebug.h>
|
||||
#include <sys/kassert.h>
|
||||
#include <sys/kdebug.h>
|
||||
|
||||
/*
|
||||
* Missing from headers
|
||||
|
@ -4,13 +4,13 @@
|
||||
|
||||
#include <stdbool.h>
|
||||
#include <stdint.h>
|
||||
#include <kassert.h>
|
||||
|
||||
#include <cdefs.h>
|
||||
#include <sys/kassert.h>
|
||||
#include <sys/cdefs.h>
|
||||
|
||||
#include "amd64.h"
|
||||
#include "pmap.h"
|
||||
#include "trap.h"
|
||||
#include <machine/amd64.h>
|
||||
#include <machine/pmap.h>
|
||||
#include <machine/trap.h>
|
||||
|
||||
#define IOAPICBASE 0xFEC00000
|
||||
|
||||
|
@ -1,11 +1,11 @@
|
||||
|
||||
#include <stdint.h>
|
||||
|
||||
#include <kassert.h>
|
||||
#include <sys/kassert.h>
|
||||
#include <sys/irq.h>
|
||||
|
||||
#include "trap.h"
|
||||
#include "ioapic.h"
|
||||
#include <irq.h>
|
||||
#include <machine/trap.h>
|
||||
#include <machine/ioapic.h>
|
||||
|
||||
LIST_HEAD(IRQHandlerList, IRQHandler);
|
||||
struct IRQHandlerList handlers[T_IRQ_LEN];
|
||||
|
@ -5,13 +5,13 @@
|
||||
#include <stdbool.h>
|
||||
#include <stdint.h>
|
||||
|
||||
#include <kassert.h>
|
||||
#include <kdebug.h>
|
||||
#include <sys/kassert.h>
|
||||
#include <sys/kdebug.h>
|
||||
|
||||
#include "amd64.h"
|
||||
#include "amd64op.h"
|
||||
#include "pmap.h"
|
||||
#include "trap.h"
|
||||
#include <machine/amd64.h>
|
||||
#include <machine/amd64op.h>
|
||||
#include <machine/pmap.h>
|
||||
#include <machine/trap.h>
|
||||
|
||||
#define CPUID_FLAG_APIC 0x100
|
||||
|
||||
|
@ -1,18 +1,18 @@
|
||||
#include <stdbool.h>
|
||||
#include <stdint.h>
|
||||
|
||||
#include <kconfig.h>
|
||||
#include <kassert.h>
|
||||
#include <kmem.h>
|
||||
#include <mp.h>
|
||||
#include <irq.h>
|
||||
#include <spinlock.h>
|
||||
#include <sys/kconfig.h>
|
||||
#include <sys/kassert.h>
|
||||
#include <sys/kmem.h>
|
||||
#include <sys/mp.h>
|
||||
#include <sys/irq.h>
|
||||
#include <sys/spinlock.h>
|
||||
|
||||
#include "amd64.h"
|
||||
#include "ioapic.h"
|
||||
#include "lapic.h"
|
||||
#include "trap.h"
|
||||
#include "pmap.h"
|
||||
#include <machine/amd64.h>
|
||||
#include <machine/ioapic.h>
|
||||
#include <machine/lapic.h>
|
||||
#include <machine/trap.h>
|
||||
#include <machine/pmap.h>
|
||||
|
||||
#include "../dev/console.h"
|
||||
|
||||
|
@ -5,14 +5,14 @@
|
||||
#include <stdbool.h>
|
||||
#include <stdint.h>
|
||||
|
||||
#include <kassert.h>
|
||||
#include <cdefs.h>
|
||||
#include <sys/kassert.h>
|
||||
#include <sys/cdefs.h>
|
||||
|
||||
#include "../dev/console.h"
|
||||
|
||||
#include "amd64.h"
|
||||
#include "pmap.h"
|
||||
#include "multiboot.h"
|
||||
#include <machine/amd64.h>
|
||||
#include <machine/pmap.h>
|
||||
#include <machine/multiboot.h>
|
||||
|
||||
void MachineBoot_Entry(unsigned long magic, unsigned long addr);
|
||||
|
||||
|
@ -1,11 +1,11 @@
|
||||
|
||||
#include <stdint.h>
|
||||
|
||||
#include <kassert.h>
|
||||
#include <pci.h>
|
||||
#include <sys/kassert.h>
|
||||
#include <sys/pci.h>
|
||||
|
||||
#include "amd64.h"
|
||||
#include "amd64op.h"
|
||||
#include <machine/amd64.h>
|
||||
#include <machine/amd64op.h>
|
||||
|
||||
#define PCI_PORT_ADDR 0xCF8
|
||||
#define PCI_PORT_DATABASE 0xCFC
|
||||
|
@ -2,15 +2,15 @@
|
||||
#include <stdbool.h>
|
||||
#include <stdint.h>
|
||||
|
||||
#include <kconfig.h>
|
||||
#include <kassert.h>
|
||||
#include <kdebug.h>
|
||||
#include <kmem.h>
|
||||
#include <sys/kconfig.h>
|
||||
#include <sys/kassert.h>
|
||||
#include <sys/kdebug.h>
|
||||
#include <sys/kmem.h>
|
||||
|
||||
#include "amd64.h"
|
||||
#include "amd64op.h"
|
||||
#include "mp.h"
|
||||
#include "pmap.h"
|
||||
#include <machine/amd64.h>
|
||||
#include <machine/amd64op.h>
|
||||
#include <machine/mp.h>
|
||||
#include <machine/pmap.h>
|
||||
|
||||
typedef struct AS
|
||||
{
|
||||
|
@ -2,15 +2,15 @@
|
||||
#include <stdbool.h>
|
||||
#include <stdint.h>
|
||||
|
||||
#include <kconfig.h>
|
||||
#include <kassert.h>
|
||||
#include <kdebug.h>
|
||||
#include <spinlock.h>
|
||||
#include <irq.h>
|
||||
#include <sys/kconfig.h>
|
||||
#include <sys/kassert.h>
|
||||
#include <sys/kdebug.h>
|
||||
#include <sys/spinlock.h>
|
||||
#include <sys/irq.h>
|
||||
|
||||
#include "amd64.h"
|
||||
#include "lapic.h"
|
||||
#include "trap.h"
|
||||
#include <machine/amd64.h>
|
||||
#include <machine/lapic.h>
|
||||
#include <machine/trap.h>
|
||||
|
||||
extern uint64_t trap_table[T_MAX];
|
||||
extern void trap_pop(TrapFrame *tf);
|
||||
|
@ -2,14 +2,14 @@
|
||||
#include <stdbool.h>
|
||||
#include <stdint.h>
|
||||
|
||||
#include <kconfig.h>
|
||||
#include <kassert.h>
|
||||
#include <kmem.h>
|
||||
#include <sys/kconfig.h>
|
||||
#include <sys/kassert.h>
|
||||
#include <sys/kmem.h>
|
||||
|
||||
#include "amd64.h"
|
||||
#include "amd64op.h"
|
||||
#include "pmap.h"
|
||||
#include "mp.h"
|
||||
#include <machine/amd64.h>
|
||||
#include <machine/amd64op.h>
|
||||
#include <machine/pmap.h>
|
||||
#include <machine/mp.h>
|
||||
|
||||
#define MAX_XMEM_REGIONS 1024
|
||||
|
||||
|
@ -3,10 +3,10 @@
|
||||
#include <stdint.h>
|
||||
#include <string.h>
|
||||
|
||||
#include <kassert.h>
|
||||
#include <kmem.h>
|
||||
#include <pci.h>
|
||||
#include <sga.h>
|
||||
#include <sys/kassert.h>
|
||||
#include <sys/kmem.h>
|
||||
#include <sys/pci.h>
|
||||
#include <sys/sga.h>
|
||||
|
||||
#include "ata.h"
|
||||
#include "sata.h"
|
||||
|
@ -1,7 +1,7 @@
|
||||
|
||||
#include <stdint.h>
|
||||
|
||||
#include <spinlock.h>
|
||||
#include <sys/spinlock.h>
|
||||
|
||||
#include "console.h"
|
||||
#include "x86/vgacons.h"
|
||||
|
@ -2,9 +2,9 @@
|
||||
#include <stdbool.h>
|
||||
#include <stdint.h>
|
||||
|
||||
#include <kassert.h>
|
||||
#include <kdebug.h>
|
||||
#include <pci.h>
|
||||
#include <sys/kassert.h>
|
||||
#include <sys/kdebug.h>
|
||||
#include <sys/pci.h>
|
||||
|
||||
void PCI_ScanBus();
|
||||
|
||||
|
@ -5,10 +5,10 @@
|
||||
|
||||
#include <stdint.h>
|
||||
|
||||
#include <cdefs.h>
|
||||
#include <sys/cdefs.h>
|
||||
|
||||
#include "../../amd64/amd64.h"
|
||||
#include "../../amd64/amd64op.h"
|
||||
#include <machine/amd64.h>
|
||||
#include <machine/amd64op.h>
|
||||
|
||||
void DebugConsole_Init()
|
||||
{
|
||||
|
@ -3,8 +3,8 @@
|
||||
#include <stdint.h>
|
||||
#include <string.h>
|
||||
|
||||
#include <kassert.h>
|
||||
#include <sga.h>
|
||||
#include <sys/kassert.h>
|
||||
#include <sys/sga.h>
|
||||
|
||||
#include "ioport.h"
|
||||
#include "../ata.h"
|
||||
|
@ -1,8 +1,8 @@
|
||||
|
||||
#include <stdint.h>
|
||||
|
||||
#include <kassert.h>
|
||||
#include <irq.h>
|
||||
#include <sys/kassert.h>
|
||||
#include <sys/irq.h>
|
||||
|
||||
#include "ioport.h"
|
||||
#include "sercons.h"
|
||||
|
@ -5,11 +5,11 @@
|
||||
#include <stdbool.h>
|
||||
#include <stdint.h>
|
||||
|
||||
#include <cdefs.h>
|
||||
#include <kdebug.h>
|
||||
#include <sys/cdefs.h>
|
||||
#include <sys/kdebug.h>
|
||||
|
||||
#include "../../amd64/amd64.h"
|
||||
#include "../../amd64/pmap.h"
|
||||
#include <machine/amd64.h>
|
||||
#include <machine/pmap.h>
|
||||
|
||||
#include "vgacons.h"
|
||||
|
||||
|
36
sys/fs/o2fs/o2fs.h
Normal file
36
sys/fs/o2fs/o2fs.h
Normal file
@ -0,0 +1,36 @@
|
||||
|
||||
/*
|
||||
* *** Disk Layout ***
|
||||
*
|
||||
* +---------------------+
|
||||
* | Super Blocks (4MBs) |
|
||||
* +---------------------+
|
||||
* | |
|
||||
* .
|
||||
* .
|
||||
* .
|
||||
* | |
|
||||
* +---------------------+
|
||||
* | Super Blocks (4MBs) |
|
||||
* +---------------------+
|
||||
*
|
||||
*/
|
||||
|
||||
typedef struct ObjID {
|
||||
uint8_t hash[32];
|
||||
uint64_t device;
|
||||
uint64_t offset;
|
||||
} ObjID;
|
||||
|
||||
typedef struct SuperBlock
|
||||
{
|
||||
uint8_t magic[8];
|
||||
uint16_t versionMajor;
|
||||
uint16_t versionMinor;
|
||||
uint32_t _rsvd0;
|
||||
uint64_t features;
|
||||
|
||||
ObjID root; /* Root Tree */
|
||||
|
||||
uint8_t hash[32];
|
||||
} SuperBlock;
|
@ -2,7 +2,7 @@
|
||||
#ifndef __IRQ_H__
|
||||
#define __IRQ_H__
|
||||
|
||||
#include <queue.h>
|
||||
#include <sys/queue.h>
|
||||
|
||||
typedef struct IRQHandler {
|
||||
int irq;
|
||||
|
@ -2,7 +2,7 @@
|
||||
#ifndef __KASSERT_H__
|
||||
#define __KASSERT_H__
|
||||
|
||||
#include <cdefs.h>
|
||||
#include <sys/cdefs.h>
|
||||
|
||||
#define ASSERT(x) if (!(x)) { Panic("ASSERT:"); }
|
||||
#define NOT_IMPLEMENTED() Panic("NOT_IMPLEMENTED:")
|
||||
|
@ -33,7 +33,7 @@
|
||||
#ifndef _SYS_QUEUE_H_
|
||||
#define _SYS_QUEUE_H_
|
||||
|
||||
#include <cdefs.h>
|
||||
#include <sys/cdefs.h>
|
||||
|
||||
/*
|
||||
* This file defines four types of data structures: singly-linked lists,
|
||||
|
@ -18,8 +18,8 @@
|
||||
#include <stdint.h>
|
||||
#include <string.h>
|
||||
|
||||
#include <kassert.h>
|
||||
#include <kdebug.h>
|
||||
#include <sys/kassert.h>
|
||||
#include <sys/kdebug.h>
|
||||
|
||||
#include "../dev/console.h"
|
||||
|
||||
|
@ -7,14 +7,15 @@
|
||||
#include <stdint.h>
|
||||
#include <stdarg.h>
|
||||
|
||||
#include <cdefs.h>
|
||||
#include <kassert.h>
|
||||
#include <kdebug.h>
|
||||
#include <kmem.h>
|
||||
#include <queue.h>
|
||||
#include <spinlock.h>
|
||||
#include <sys/cdefs.h>
|
||||
#include <sys/kassert.h>
|
||||
#include <sys/kdebug.h>
|
||||
#include <sys/kmem.h>
|
||||
#include <sys/queue.h>
|
||||
#include <sys/spinlock.h>
|
||||
|
||||
#include "../amd64/amd64.h"
|
||||
// PGSIZE
|
||||
#include <machine/amd64.h>
|
||||
|
||||
/* 'FREEPAGE' */
|
||||
#define FREEPAGE_MAGIC_FREE 0x4652454550414745ULL
|
||||
|
@ -8,7 +8,7 @@
|
||||
#include <stdarg.h>
|
||||
#include <string.h>
|
||||
|
||||
#include <kassert.h>
|
||||
#include <sys/kassert.h>
|
||||
|
||||
#include "../dev/console.h"
|
||||
|
||||
|
@ -2,14 +2,12 @@
|
||||
#include <stdint.h>
|
||||
#include <string.h>
|
||||
|
||||
#include <kassert.h>
|
||||
#include <kconfig.h>
|
||||
#include <mp.h>
|
||||
#include <spinlock.h>
|
||||
#include <sys/kassert.h>
|
||||
#include <sys/kconfig.h>
|
||||
#include <sys/mp.h>
|
||||
#include <sys/spinlock.h>
|
||||
|
||||
#include "../amd64/amd64.h"
|
||||
#include "../amd64/amd64op.h"
|
||||
#include "../amd64/atomic.h"
|
||||
#include <machine/atomic.h>
|
||||
|
||||
void
|
||||
Spinlock_Init(Spinlock *lock, const char *name)
|
||||
|
Loading…
Reference in New Issue
Block a user