/drivers/audio/a5536/geode.bat |
---|
File deleted |
/drivers/audio/a5536/makefile |
---|
File deleted |
/drivers/audio/a5536/Tupfile.lua |
---|
1,2 → 1,19 |
if tup.getconfig("NO_FASM") ~= "" then return end |
tup.rule("geode.asm", "fasm %f %o " .. tup.getconfig("KPACK_CMD"), "geode") |
if tup.getconfig("NO_GCC") ~= "" then return end |
tup.include("../../../programs/use_gcc.lua") |
DRV_DIR = "../.." |
INCLUDES = string.format(" -I. -I. -I%s/include -I%s/include/linux -I%s/include/uapi ", DRV_DIR, DRV_DIR, DRV_DIR) |
DEFINES = [[ -D__KERNEL__ -DGEODE_LOG="\"/tmp0/1/geode.log"\" -DCONFIG_X86_32 -DCONFIG_X86_L1_CACHE_SHIFT=6 -DCONFIG_ARCH_HAS_CACHE_LINE_SIZE -DCONFIG_PRINTK -DCONFIG_PCI ]] |
CFLAGS = " -Os -fomit-frame-pointer -fno-builtin-printf " .. DEFINES |
LDFLAGS = " -nostdlib -shared -s --image-base 0 --file-alignment 512 --section-alignment 4096 -L../../ddk " |
NAME = "geode.sys" |
compile_gcc{ "geode.c" } |
OBJS.extra_inputs = {"../../ddk/libcore.a", "../../ddk/libddk.a"} |
LIBS = " -lddk -lcore " |
tup.rule(OBJS, "kos32-ld" .. LDFLAGS .. "%f -o %o " .. LIBS .. tup.getconfig("KPACK_CMD"), NAME); |
tup.rule("geode.asm", "fasm %f %o " .. tup.getconfig("KPACK_CMD"), "geode") |
/drivers/audio/a5536/driver.lds |
---|
1,5 → 1,3 |
OUTPUT_FORMAT(pei-i386) |
ENTRY("_drvEntry") |
/drivers/audio/a5536/geode.asm |
---|
9,7 → 9,7 |
inc eax |
cmp [eax], byte 0 |
jne @b |
mov [eax], dword '.drv' |
mov [eax], dword '.sys' |
;------ writing some info |
mov edx, info_msg |
/drivers/audio/a5536/geode.c |
---|
475,9 → 475,9 |
if(action != 1) |
return 0; |
if(!dbg_open("/rd/1/drivers/geode.log")) |
if(!dbg_open(GEODE_LOG)) |
{ |
printf("Can't open /rd/1/drivers/geode.log\nExit\n"); |
printf("Can't open %s\nExit\n", GEODE_LOG); |
return 0; |
} |
490,13 → 490,9 |
}; |
init_device(); |
retval = RegService("SOUND", srv_sound); |
AttachIntHandler(geode.irq_line, snd_interrupt, 0); |
DBG("reg service %s as: %x\n", "SOUND", retval); |
return retval; |
}; |
563,5 → 559,3 |
}; |
return ERR_PARAM; |
} |
/drivers/audio/a5536/pci.h |
---|
1,5 → 1,10 |
#ifndef _GEODE_PCI_ |
#define _GEODE_PCI_ |
typedef int Bool; |
typedef unsigned char u8_t; |
typedef unsigned short u16_t; |
typedef unsigned int u32_t; |
#define TRUE 1 |
#define FALSE 0 |
184,3 → 189,5 |
#define PCI_ANY_ID (~0) |
#define for_each_pci_dev(d) while ((d = pci_get_device(PCI_ANY_ID, PCI_ANY_ID, d))!=-1) |
#endif // _GEODE_PCI_ |