diff options
| -rw-r--r-- | driver/mouse.c | 4 | ||||
| -rw-r--r-- | driver/pci.c | 7 | ||||
| -rw-r--r-- | driver/serial.c | 2 | ||||
| -rw-r--r-- | driver/vesa.c | 13 | ||||
| -rw-r--r-- | fs/elf.c | 53 | ||||
| -rw-r--r-- | fs/ext2.c | 23 | ||||
| -rw-r--r-- | fs/fs.c | 3 | ||||
| -rw-r--r-- | kernel/acpi.c | 25 | ||||
| -rw-r--r-- | kernel/fifo.c | 1 | ||||
| -rw-r--r-- | kernel/interrupts.c | 36 | ||||
| -rw-r--r-- | kernel/kernel.c | 18 | ||||
| -rw-r--r-- | kernel/kernel.h | 2 | ||||
| -rw-r--r-- | kernel/kmalloc.c | 5 | ||||
| -rw-r--r-- | kernel/log.c | 2 | ||||
| -rw-r--r-- | kernel/mem.c | 20 | ||||
| -rw-r--r-- | kernel/mp.c | 35 | ||||
| -rw-r--r-- | kernel/multiboot.c | 35 | ||||
| -rw-r--r-- | kernel/ringbuffer.c | 2 | ||||
| -rw-r--r-- | kernel/scheduler.c | 13 | ||||
| -rw-r--r-- | kernel/smashing.c | 1 | ||||
| -rw-r--r-- | kernel/smp.c | 15 | ||||
| -rw-r--r-- | kernel/spinlock.c | 5 | ||||
| -rw-r--r-- | kernel/syscalls.c | 35 | ||||
| -rw-r--r-- | kernel/usermode.c | 2 | ||||
| -rw-r--r-- | kernel/vmem.c | 20 | ||||
| -rw-r--r-- | terminal/terminal.c | 1 | ||||
| -rw-r--r-- | xxx/inactive/floppy.c | 52 |
27 files changed, 203 insertions, 227 deletions
diff --git a/driver/mouse.c b/driver/mouse.c index 28acf53..e37b017 100644 --- a/driver/mouse.c +++ b/driver/mouse.c @@ -97,7 +97,7 @@ void mouse_init() void mouse_log() { - //log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"%02x / %02x / %02x ",mouse_byte[0], mouse_byte[1],mouse_byte[2]); + //log(FOOLOS_MODULE_NAME,5,"%02x / %02x / %02x ",mouse_byte[0], mouse_byte[1],mouse_byte[2]); //TODO: ignore last packet for 4packets mouse and resync if you get out of sync if(mouse_byte[0]&0x80||mouse_byte[0]&0x40)return; //skip packet on overflow @@ -126,7 +126,7 @@ void mouse_log() if(mouse_x>800)mouse_x=800; if(mouse_y>600)mouse_y=600; - //log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"%d / %d / %02x ",mouse_x, mouse_y,mouse_byte[2]); + //log(FOOLOS_MODULE_NAME,5,"%d / %d / %02x ",mouse_x, mouse_y,mouse_byte[2]); if (mouse_byte[0] & 1)vesa_put_rect(mouse_x,600-mouse_y,10,10,0x00ffff); //else vesa_put_rect(mouse_x,600-mouse_y,10,10,0x0000ff); PutFont('X', mouse_x,600-mouse_y, 0xff0000); diff --git a/driver/pci.c b/driver/pci.c index a8cd68b..7ad5daa 100644 --- a/driver/pci.c +++ b/driver/pci.c @@ -3,7 +3,6 @@ #include "kernel/kernel.h" #include "asm/x86.h" #include "e1000.h" -#include "lib/logger/log.h" // logger facilities #define PCI_CONFIG_DATA 0xCFC #define PCI_CONFIG_ADDRESS 0xCF8 @@ -66,7 +65,7 @@ void test_bar(uint8_t bus, uint8_t slot, uint8_t offset) pciConfigSet(bus,slot,0,offset,(bar_high<<16)+bar_low); - log("e1000",FOOLOS_LOG_INFO,"%s bar: (0x%x 0x%x) size: 0x%x" ,bar_low&1?"i/o":"mem",bar_high, bar_low, size); + log("e1000",5,"%s bar: (0x%x 0x%x) size: 0x%x" ,bar_low&1?"i/o":"mem",bar_high, bar_low, size); } @@ -80,7 +79,7 @@ uint16_t pciCheck(uint8_t bus, uint8_t slot) if ((vendor = pciConfigReadWord(bus,slot,0,0)) != 0xFFFF) { device = pciConfigReadWord(bus,slot,0,2); - log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"[%d,%d]: vendor: 0x%x / device: 0x%x",bus,slot,vendor,device); + log(FOOLOS_MODULE_NAME,5,"[%d,%d]: vendor: 0x%x / device: 0x%x",bus,slot,vendor,device); // check for: E1000 (82540EM). PCI Ethernet Controller if(vendor==0x8086&&device==0x100e) @@ -112,7 +111,7 @@ uint16_t pciCheck(uint8_t bus, uint8_t slot) void pci_init() { - log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"scanning bus"); + log(FOOLOS_MODULE_NAME,5,"scanning bus"); // todo: recurse on pci to pci bridges! // todo: support multiple pci host controllers! // (check more funcitons of device 0:0) diff --git a/driver/serial.c b/driver/serial.c index 178c9bc..6fb206f 100644 --- a/driver/serial.c +++ b/driver/serial.c @@ -1,5 +1,5 @@ #define FOOLOS_MODULE_NAME "serial" -#include "asm/serial.h" +#include "driver/serial.h" #include "asm/x86.h" // provides x86_inb() and x86_outb() diff --git a/driver/vesa.c b/driver/vesa.c index b8c03ec..d57174f 100644 --- a/driver/vesa.c +++ b/driver/vesa.c @@ -4,7 +4,6 @@ #include "kernel/mem.h" #include "vesa.h" -#include "lib/logger/log.h" // logger facilities #include "lib/printf/printf.h" #define FOOLOS_MODULE_NAME "vesa" @@ -139,18 +138,18 @@ uint32_t vesa_init(vbeinfo *info,vbemodeinfo *mode,foolfont *rawfont) console_lines=24; // vesa info - log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"vbe version: 0x%x / video mode ptr: 0x%x 0x%x", + log(FOOLOS_MODULE_NAME,5,"vbe version: 0x%x / video mode ptr: 0x%x 0x%x", info->VbeVersion, info->VideoModePtr[1], info->VideoModePtr[0]); // vesa info on selected mode: - log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"colors r:%d 0x%x g:%d 0x%x b:%d 0x%x", + log(FOOLOS_MODULE_NAME,5,"colors r:%d 0x%x g:%d 0x%x b:%d 0x%x", mode->red_position,mode->red_mask, mode->green_position,mode->green_mask, mode->blue_position,mode->blue_mask); - log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"res: %d * %d / banks: %d / attr: 0x%x", + log(FOOLOS_MODULE_NAME,5,"res: %d * %d / banks: %d / attr: 0x%x", mode->Xres, mode->Yres, mode->banks, mode->attributes); - log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"bpp: %d / physbase: 0x%x", + log(FOOLOS_MODULE_NAME,5,"bpp: %d / physbase: 0x%x", mode->bpp,mode->physbase); // vesa modes @@ -160,7 +159,7 @@ uint32_t vesa_init(vbeinfo *info,vbemodeinfo *mode,foolfont *rawfont) while(*modeptr!=0xffff&&*modeptr!=0) { - log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"mode supported : 0x%X", (*modeptr)); + log(FOOLOS_MODULE_NAME,5,"mode supported : 0x%X", (*modeptr)); modeptr++; } #endif @@ -316,7 +315,7 @@ void vesa_init_doublebuff() int blocks=800*600*2/4096+1; physbase=VbeModeInfoBlock->physbase; buffer=pmmngr_alloc_blocks(blocks); - log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"Init buffer of %d blocks at 0x%08X",blocks,buffer); + log(FOOLOS_MODULE_NAME,5,"Init buffer of %d blocks at 0x%08X",blocks,buffer); VbeModeInfoBlock->physbase=buffer; } @@ -1,6 +1,5 @@ #include <stdint.h> #include "ext2.h" -#include "lib/logger/log.h" #define FOOLOS_MODULE_NAME "elf" #define EI_NIDENT 16 @@ -80,11 +79,11 @@ uint32_t load_elf(char *name, uint32_t *alloc) //uint32_t vaddr=0x08000000; uint32_t vaddr=0x08048000; - log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"loading %s",name); + log(FOOLOS_MODULE_NAME,5,"loading %s",name); ext2_check(ext2_ramimage); ext2_inode_content(ext2_ramimage,inode_nr,vaddr,0x100000); // max ignored?? - log(FOOLOS_MODULE_NAME,FOOLOS_LOG_DEBUG,"ELF File loaded to final destination."); + log(FOOLOS_MODULE_NAME,20,"ELF File loaded to final destination."); Elf32_Ehdr *elf; elf=vaddr; @@ -94,27 +93,27 @@ uint32_t load_elf(char *name, uint32_t *alloc) /* - log(FOOLOS_MODULE_NAME, FOOLOS_LOG_INFO, + log(FOOLOS_MODULE_NAME, 5, "elf id: class=%d, data=%d, version=%d osabi=%d abiv=%d ", elf->e_ident[4],elf->e_ident[5],elf->e_ident[6], elf->e_ident[7],elf->e_ident[8]); - log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"elf type: 0x%04x",elf->e_type); - log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"elf machine: 0x%04x",elf->e_machine); - log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"elf version: %d",elf->e_version); - log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"elf entry: 0x%08X",elf->e_entry); - log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"elf ph-offset: 0x%08X",elf->e_phoff); - log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"elf sh-offset: 0x%08X",elf->e_shoff); - log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"elf flags: 0x%08X",elf->e_flags); - log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"elf eh-size (bytes): %d",elf->e_ehsize); + log(FOOLOS_MODULE_NAME,5,"elf type: 0x%04x",elf->e_type); + log(FOOLOS_MODULE_NAME,5,"elf machine: 0x%04x",elf->e_machine); + log(FOOLOS_MODULE_NAME,5,"elf version: %d",elf->e_version); + log(FOOLOS_MODULE_NAME,5,"elf entry: 0x%08X",elf->e_entry); + log(FOOLOS_MODULE_NAME,5,"elf ph-offset: 0x%08X",elf->e_phoff); + log(FOOLOS_MODULE_NAME,5,"elf sh-offset: 0x%08X",elf->e_shoff); + log(FOOLOS_MODULE_NAME,5,"elf flags: 0x%08X",elf->e_flags); + log(FOOLOS_MODULE_NAME,5,"elf eh-size (bytes): %d",elf->e_ehsize); - log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"elf ph-ent-size(bytes): %d",elf->e_phentsize); - log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"elf ph-num: %d",elf->e_phnum); + log(FOOLOS_MODULE_NAME,5,"elf ph-ent-size(bytes): %d",elf->e_phentsize); + log(FOOLOS_MODULE_NAME,5,"elf ph-num: %d",elf->e_phnum); - log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"elf sh-ent-size(byte): %d",elf->e_shentsize); - log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"elf sh-num: %d",elf->e_shnum); + log(FOOLOS_MODULE_NAME,5,"elf sh-ent-size(byte): %d",elf->e_shentsize); + log(FOOLOS_MODULE_NAME,5,"elf sh-num: %d",elf->e_shnum); - log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"elf sh-strndx: %d",elf->e_shstrndx); + log(FOOLOS_MODULE_NAME,5,"elf sh-strndx: %d",elf->e_shstrndx); */ // iterate over section headers @@ -124,7 +123,7 @@ uint32_t load_elf(char *name, uint32_t *alloc) if(phidx==0) { - log(FOOLOS_MODULE_NAME,FOOLOS_LOG_DEBUG,"text: 0x%08X-0x%08X",phdr->p_vaddr,phdr->p_vaddr+phdr->p_filesz); + log(FOOLOS_MODULE_NAME,20,"text: 0x%08X-0x%08X",phdr->p_vaddr,phdr->p_vaddr+phdr->p_filesz); } if(phidx==1) @@ -132,17 +131,17 @@ uint32_t load_elf(char *name, uint32_t *alloc) /* - log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"-- PROGRAMM HEADER %d --",phidx+1); - log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"p-type: %d",phdr->p_type); - log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"p-offset: 0x%08X",phdr->p_offset); - log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"p-vaddr: 0x%08X",phdr->p_vaddr); - log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"p-filesz: 0x%08X",phdr->p_filesz); - log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"p-memsz: 0x%08X",phdr->p_memsz); + log(FOOLOS_MODULE_NAME,5,"-- PROGRAMM HEADER %d --",phidx+1); + log(FOOLOS_MODULE_NAME,5,"p-type: %d",phdr->p_type); + log(FOOLOS_MODULE_NAME,5,"p-offset: 0x%08X",phdr->p_offset); + log(FOOLOS_MODULE_NAME,5,"p-vaddr: 0x%08X",phdr->p_vaddr); + log(FOOLOS_MODULE_NAME,5,"p-filesz: 0x%08X",phdr->p_filesz); + log(FOOLOS_MODULE_NAME,5,"p-memsz: 0x%08X",phdr->p_memsz); */ - log(FOOLOS_MODULE_NAME,FOOLOS_LOG_DEBUG,"data: 0x%08X-0x%08X",phdr->p_vaddr,phdr->p_vaddr+phdr->p_filesz); - log(FOOLOS_MODULE_NAME,FOOLOS_LOG_DEBUG,"bss: 0x%08X-0x%08X",phdr->p_vaddr+phdr->p_filesz,phdr->p_vaddr+phdr->p_memsz); + log(FOOLOS_MODULE_NAME,20,"data: 0x%08X-0x%08X",phdr->p_vaddr,phdr->p_vaddr+phdr->p_filesz); + log(FOOLOS_MODULE_NAME,20,"bss: 0x%08X-0x%08X",phdr->p_vaddr+phdr->p_filesz,phdr->p_vaddr+phdr->p_memsz); // let's copy the rw- data block // from right to left so we not overwrite ourselves!! @@ -168,7 +167,7 @@ uint32_t load_elf(char *name, uint32_t *alloc) } - log(FOOLOS_MODULE_NAME,FOOLOS_LOG_DEBUG,"heap starts at: 0x%08X",*alloc); + log(FOOLOS_MODULE_NAME,20,"heap starts at: 0x%08X",*alloc); return elf->e_entry; } @@ -6,7 +6,6 @@ #include <stdbool.h> #include <stdint.h> -#include "lib/logger/log.h" #include "fs.h" #include "ext2.h" @@ -119,7 +118,7 @@ int ext2_check(uint8_t *ram) ram_read(ptr,&super,sizeof(super),1); if(super.ext2_sig!=0xef53){ - log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"addr: 0x%08X",ram); + log(FOOLOS_MODULE_NAME,5,"addr: 0x%08X",ram); panic(FOOLOS_MODULE_NAME,"no ext2 signature found, where ram-image expected"); } } @@ -136,7 +135,7 @@ ext2_inode ext2_get_inode(uint8_t *ram,int inode_num) ram_read(ptr,&super,sizeof(super),1); if(super.ext2_sig!=0xef53) { - log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"addr: 0x%08X",ram); + log(FOOLOS_MODULE_NAME,5,"addr: 0x%08X",ram); panic(FOOLOS_MODULE_NAME,"no ext2 signature found, where ram-image expected!"); } @@ -183,7 +182,7 @@ void* ext2_get_indirectstart_double(void *start, uint32_t block_size, uint32_t i int indirect1_idx=block_idx/(block_size/4); int idx=block_idx%(block_size/4); - //log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"bl: %d : %d / %d",block_idx,indirect1_idx, idx); + //log(FOOLOS_MODULE_NAME,5,"bl: %d : %d / %d",block_idx,indirect1_idx, idx); return ext2_get_indirectstart(start,block_size,dil[indirect1_idx],idx); } @@ -200,7 +199,7 @@ int ext2_inode_content(char *ram,int inode_nr,uint8_t *ramdest,int max) int sum=0; int count=0; - log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"Loading %d.%d bytes",inode.size_high, inode.size_low); + log(FOOLOS_MODULE_NAME,5,"Loading %d.%d bytes",inode.size_high, inode.size_low); if(inode.size_high>0)panic(FOOLOS_MODULE_NAME,"inode with high.size unsupported, i am sorry."); @@ -247,7 +246,7 @@ int ext2_inode_content(char *ram,int inode_nr,uint8_t *ramdest,int max) } - log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"Fool Check Sum: 0x%08X for %d bytes",sum,count); + log(FOOLOS_MODULE_NAME,5,"Fool Check Sum: 0x%08X for %d bytes",sum,count); } @@ -265,7 +264,7 @@ int ext2_filename_to_inode_traverse(uint8_t *ram, char *path,int inode_start) if(*path==0)final=true; else(*path=0); - log(FOOLOS_MODULE_NAME,FOOLOS_LOG_DEBUG,"looking for %s '%s' in inode: %d",final?"file":"dir",first,inode_start); + log(FOOLOS_MODULE_NAME,20,"looking for %s '%s' in inode: %d",final?"file":"dir",first,inode_start); fs_dirent dirs[25]; int count= ext2_read_dir(ram, inode_start,dirs,25); // get dir @@ -274,15 +273,15 @@ int ext2_filename_to_inode_traverse(uint8_t *ram, char *path,int inode_start) { if(!strcmp_l(first,dirs[i].name,0)) { - log(FOOLOS_MODULE_NAME,FOOLOS_LOG_DEBUG,"found: %s (%s)",first,dirs[i].type==FS_FILE_TYPE_DIR?"dir":"file"); + log(FOOLOS_MODULE_NAME,20,"found: %s (%s)",first,dirs[i].type==FS_FILE_TYPE_DIR?"dir":"file"); if(final)return dirs[i].inode; return ext2_filename_to_inode_traverse(ram,last+1,dirs[i].inode); } - //log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"no match: %s",dirs[i].name); + //log(FOOLOS_MODULE_NAME,5,"no match: %s",dirs[i].name); } - log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"file not found!"); + log(FOOLOS_MODULE_NAME,5,"file not found!"); return -1; @@ -306,7 +305,7 @@ int ext2_filename_to_inode(uint8_t *ram, char *path) int ext2_read_dir(uint8_t *ram, int inode_nr,fs_dirent *dirs,int max) { - log(FOOLOS_MODULE_NAME,FOOLOS_LOG_DEBUG,"read_dir : max: %d",max); + log(FOOLOS_MODULE_NAME,20,"read_dir : max: %d",max); ext2_inode inode=ext2_get_inode(ram,inode_nr); char buf[256]; @@ -354,7 +353,7 @@ int ext2_read_dir(uint8_t *ram, int inode_nr,fs_dirent *dirs,int max) i++; }while(buf[i-1]!=0); -// log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"name: %s\n",dirs[c].name); +// log(FOOLOS_MODULE_NAME,5,"name: %s\n",dirs[c].name); c++; @@ -3,7 +3,6 @@ #include "fs.h" #include "ext2.h" -#include "lib/logger/log.h" static uint32_t root_ext2_ramimage=0; @@ -27,7 +26,7 @@ void fs_mount(multiboot_information *info) multiboot_mod *mod=info->mods_addr; for(int i=0;i<info->mods_count;i++) { - log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"mounting mod from 0x%08X-0x%08X : %s", + log(FOOLOS_MODULE_NAME,5,"mounting mod from 0x%08X-0x%08X : %s", mod->mod_start,mod->mod_end, mod->string); //pmmngr_deinit_region(mod->mod_start,((uint32_t)mod->mod_end-(uint32_t)mod->mod_start)+1); diff --git a/kernel/acpi.c b/kernel/acpi.c index d7a1749..6ab6e9e 100644 --- a/kernel/acpi.c +++ b/kernel/acpi.c @@ -6,7 +6,6 @@ #include <stdint.h> #include <stdbool.h> #include "smp.h" -#include "lib/logger/log.h" typedef struct acpi_rsdt_struct @@ -57,11 +56,11 @@ typedef struct uint8_t *apci_get_next_entry(uint8_t *addr,smp_processors *procdata) { - log(FOOLOS_MODULE_NAME,FOOLOS_LOG_DEBUG,"Examining MADT Entry at 0x%08X",addr); + log(FOOLOS_MODULE_NAME,20,"Examining MADT Entry at 0x%08X",addr); if(*addr==0) { - log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"MADT Entry: LocalAPIC"); + log(FOOLOS_MODULE_NAME,5,"MADT Entry: LocalAPIC"); // usable if(addr[4]&1) { @@ -77,10 +76,10 @@ uint8_t *apci_get_next_entry(uint8_t *addr,smp_processors *procdata) } else if(*addr==1) { - log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"MADT Entry: IO APIC"); + log(FOOLOS_MODULE_NAME,5,"MADT Entry: IO APIC"); } - else if(*addr==2)log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"MADT Entry: Interrupt Source Override"); - else log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"MADT Entry: type:0x%X",*addr); + else if(*addr==2)log(FOOLOS_MODULE_NAME,5,"MADT Entry: Interrupt Source Override"); + else log(FOOLOS_MODULE_NAME,5,"MADT Entry: type:0x%X",*addr); return addr+addr[1]; } @@ -90,10 +89,10 @@ void acpi_check_madt(uint32_t *madt,smp_processors *procdata) { acpi_madt *table=(acpi_madt *)*madt; - log(FOOLOS_MODULE_NAME,FOOLOS_LOG_DEBUG,"Looking for MADT Table at %08X.",table); + log(FOOLOS_MODULE_NAME,20,"Looking for MADT Table at %08X.",table); if(!strcmp_l("APIC",table->sig,4)) { - log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"Found MADT Table at 0x%08X",table); + log(FOOLOS_MODULE_NAME,5,"Found MADT Table at 0x%08X",table); uint8_t *end=(uint8_t *)table; end+=table->length; @@ -113,7 +112,7 @@ void acpi_check_madt(uint32_t *madt,smp_processors *procdata) void acpi_read_rsdt(acpi_rsdt *rsdt,smp_processors *procdata) { - log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"Reading RSDT Table at 0x%08X",rsdt); + log(FOOLOS_MODULE_NAME,5,"Reading RSDT Table at 0x%08X",rsdt); if(strcmp_l("RSDT",rsdt->sig,4)) panic(FOOLOS_MODULE_NAME,"Signature MISMATCH!"); @@ -122,8 +121,8 @@ void acpi_read_rsdt(acpi_rsdt *rsdt,smp_processors *procdata) uint32_t *first=(uint32_t *)rsdt; first+=sizeof(acpi_rsdt)/4; - log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"Entries: %d",entries); - log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"Looking for MADT Table"); + log(FOOLOS_MODULE_NAME,5,"Entries: %d",entries); + log(FOOLOS_MODULE_NAME,5,"Looking for MADT Table"); for(int i=0;i<entries;i++) { @@ -139,7 +138,7 @@ void acpi_read_rsdt(acpi_rsdt *rsdt,smp_processors *procdata) bool acpi_find(smp_processors *procdata) { - log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"Looking for RSDP Table"); + log(FOOLOS_MODULE_NAME,5,"Looking for RSDP Table"); char *search=(char *)0x9f000; //will be 16 bit aligned; procdata->processors=0; procdata->boot=0; @@ -154,7 +153,7 @@ bool acpi_find(smp_processors *procdata) if(checksum==0) { - log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"RSDP Table found at 0x%08X",search); + log(FOOLOS_MODULE_NAME,5,"RSDP Table found at 0x%08X",search); acpi_rsdp *rsdp=(acpi_rsdp *)search; acpi_read_rsdt(rsdp->ptr_rsdt,procdata); return true; diff --git a/kernel/fifo.c b/kernel/fifo.c index 8062c82..2950eff 100644 --- a/kernel/fifo.c +++ b/kernel/fifo.c @@ -3,7 +3,6 @@ #include "ringbuffer.h" #include "kernel.h" -#include "lib/logger/log.h" #include <stddef.h> diff --git a/kernel/interrupts.c b/kernel/interrupts.c index 0dccba4..9d5c2b1 100644 --- a/kernel/interrupts.c +++ b/kernel/interrupts.c @@ -1,7 +1,5 @@ #define FOOLOS_MODULE_NAME "interrupts" -#include "lib/logger/log.h" // logger facilities - #include "asm/asm.h" #include "asm/pit.h" #include "driver/mouse.h" @@ -12,14 +10,14 @@ void errlog(uint32_t error_code) { - log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"error_code: 0x%08X",error_code); + log(FOOLOS_MODULE_NAME,5,"error_code: 0x%08X",error_code); } void deflog(uint32_t eip, uint16_t cs, uint32_t flags) { - log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"eip: 0x%08X",eip); - log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"segment: 0x%08X",cs); - log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"eflags: 0x%08X",flags); + log(FOOLOS_MODULE_NAME,5,"eip: 0x%08X",eip); + log(FOOLOS_MODULE_NAME,5,"segment: 0x%08X",cs); + log(FOOLOS_MODULE_NAME,5,"eflags: 0x%08X",flags); } void int_install_ir(int irq, uint16_t flags, uint16_t sel, void *addr); @@ -52,16 +50,16 @@ void exception_handle() void int_default() { - log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"default handler"); + log(FOOLOS_MODULE_NAME,5,"default handler"); panic(FOOLOS_MODULE_NAME,"unhandled interrupt (is this a panic or should just iognore?)"); } void show_error(uint32_t err) { - log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"interrupt error code: 0x%08x",err); - log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"External Event: %x",err&0b001); - log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"Location: %x",err&0b110); - log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"Selector: %x",err&0b1111111111111000); + log(FOOLOS_MODULE_NAME,5,"interrupt error code: 0x%08x",err); + log(FOOLOS_MODULE_NAME,5,"External Event: %x",err&0b001); + log(FOOLOS_MODULE_NAME,5,"Location: %x",err&0b110); + log(FOOLOS_MODULE_NAME,5,"Selector: %x",err&0b1111111111111000); } void exception_handle_0(){ panic(FOOLOS_MODULE_NAME,"Divide by 0"); } @@ -89,12 +87,12 @@ void exception_handle_13(uint32_t error_code,uint32_t eip,uint16_t cs,uint16_t u void exception_handle_14(uint32_t error_code,uint32_t eip,uint16_t cs,uint16_t unused, uint32_t flags) { errlog(error_code); - log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"error_code_P: %d",error_code&1?1:0); - log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"error_code_W/R: %d",error_code&2?1:0); - log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"error_code_U/S: %d",error_code&4?1:0); - log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"error_code_RSVD: %d",error_code&8?1:0); - log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"error_code_I/D: %d",error_code&16?1:0); - log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"at addr: 0x%08X",x86_get_cr(2)); + log(FOOLOS_MODULE_NAME,5,"error_code_P: %d",error_code&1?1:0); + log(FOOLOS_MODULE_NAME,5,"error_code_W/R: %d",error_code&2?1:0); + log(FOOLOS_MODULE_NAME,5,"error_code_U/S: %d",error_code&4?1:0); + log(FOOLOS_MODULE_NAME,5,"error_code_RSVD: %d",error_code&8?1:0); + log(FOOLOS_MODULE_NAME,5,"error_code_I/D: %d",error_code&16?1:0); + log(FOOLOS_MODULE_NAME,5,"at addr: 0x%08X",x86_get_cr(2)); deflog(eip,cs,flags); panic(FOOLOS_MODULE_NAME,"Exception: Fault: Page Fault"); @@ -121,10 +119,10 @@ void int_install_ir(int irq, uint16_t flags, uint16_t sel, void *addr) void interrupts_init(uint16_t sel) { // Setup PIC - log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"setting up PIC",&idt,&idtd); + log(FOOLOS_MODULE_NAME,5,"setting up PIC",&idt,&idtd); pic_setup(); - log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"initializing. IDT: 0x%08x, IDTD: 0x%08X",&idt,&idtd); + log(FOOLOS_MODULE_NAME,5,"initializing. IDT: 0x%08x, IDTD: 0x%08X",&idt,&idtd); for(int i=0; i<INT_MAX; i++) { diff --git a/kernel/kernel.c b/kernel/kernel.c index 67f1355..3bae34d 100644 --- a/kernel/kernel.c +++ b/kernel/kernel.c @@ -1,5 +1,5 @@ -#define FOOLOS_MODULE_NAME "kernel" -#include "kernel.h" +#define FOOLOS_MODULE_NAME "dupa" +#include "kernel/kernel.h" #include <stdint.h> @@ -13,7 +13,6 @@ #include "syscalls.h" #include "types.h" -#include "lib/logger/log.h" #include "fifo.h" #include "mem.h" #include "vmem.h" @@ -30,22 +29,21 @@ void kernel_main(uint32_t eax,uint32_t ebx) { serial_init(); - log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"%s - BUILD: git-%s (%s %s)", - KERNEL_NAME,GIT_REVISION,__DATE__,__TIME__); + klog ("%s - BUILD: git-%s (%s %s)",KERNEL_NAME,GIT_REVISION,__DATE__,__TIME__); - log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"COM 1 - initialized"); + log(FOOLOS_MODULE_NAME,5,"COM 1 - initialized"); uint64_t epoch_time=timer_init(); - log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"PIT - initialized. %u seconds passed since 1970.",epoch_time); + log(FOOLOS_MODULE_NAME,5,"PIT - initialized. %u seconds passed since 1970.",epoch_time); keyboard_init(0); //sstdin - log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"Keyboard Initialized"); + log(FOOLOS_MODULE_NAME,5,"Keyboard Initialized"); mouse_init(); - log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"Mouse Initialized"); + log(FOOLOS_MODULE_NAME,5,"Mouse Initialized"); gdt_init(); - log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"GDT Initialized"); + log(FOOLOS_MODULE_NAME,5,"GDT Initialized"); // MULTIBOOT HEADER multiboot_information *info=get_multiboot(eax, ebx); diff --git a/kernel/kernel.h b/kernel/kernel.h index 97be89c..ee71315 100644 --- a/kernel/kernel.h +++ b/kernel/kernel.h @@ -20,4 +20,6 @@ #define KMALLOC_MEM_SIZE 1024*1024*8 // 8MB for in kernel-memory #define NUMBER_SPINLOCKS 16 +#define klog(format, ...) log(__FILE__,10,format, __VA_ARGS__) + #endif diff --git a/kernel/kmalloc.c b/kernel/kmalloc.c index 492d471..26822e0 100644 --- a/kernel/kmalloc.c +++ b/kernel/kmalloc.c @@ -2,7 +2,6 @@ #include "kmalloc.h" #include "kernel.h" -#include "lib/logger/log.h" static uint8_t data[KMALLOC_MEM_SIZE]; // bytes @@ -25,7 +24,7 @@ static void kmallocinit() } // - log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"kmalloc_init: 0x%08X",next); + log(FOOLOS_MODULE_NAME,5,"kmalloc_init: 0x%08X",next); init=1; } @@ -44,7 +43,7 @@ uint32_t kballoc(uint32_t size) panic(FOOLOS_MODULE_NAME,"kballoc ran out of memory! maybe increase KMALLOC_MEM_SIZE in kmalloc.c?"); } - log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"(%d) : 0x%08X (~%dKB left)",size,old,(KMALLOC_MEM_SIZE-next+first)/1024); + log(FOOLOS_MODULE_NAME,5,"(%d) : 0x%08X (~%dKB left)",size,old,(KMALLOC_MEM_SIZE-next+first)/1024); return old; } diff --git a/kernel/log.c b/kernel/log.c index ff1b8bf..a14205a 100644 --- a/kernel/log.c +++ b/kernel/log.c @@ -24,8 +24,6 @@ void log(char *module_name, int log_level, char *format_string, ...) return; #endif - if(log_level<FOOLOS_LOG_LEVEL)return; - char buf_info[256]; char buf_log[256]; char buf_time[20]; diff --git a/kernel/mem.c b/kernel/mem.c index 444e52b..429587a 100644 --- a/kernel/mem.c +++ b/kernel/mem.c @@ -119,7 +119,7 @@ void* pmmngr_alloc_block () mem_free_blocks--; uint32_t addr = frame * PMMNGR_BLOCK_SIZE; - log(FOOLOS_MODULE_NAME,FOOLOS_LOG_FINE,"alloc block (%d) 0x%08X)",frame,addr); + log(FOOLOS_MODULE_NAME,99,"alloc block (%d) 0x%08X)",frame,addr); return (void*)addr; } @@ -137,12 +137,12 @@ void pmmngr_free_block (void* p) } else { - log(FOOLOS_MODULE_NAME,FOOLOS_LOG_ERROR,"free block (%d) 0x%08X)",frame,addr); + log(FOOLOS_MODULE_NAME,10,"free block (%d) 0x%08X)",frame,addr); panic(FOOLOS_MODULE_NAME,"trying to free, free physical mem!"); } - log(FOOLOS_MODULE_NAME,FOOLOS_LOG_FINE,"free block (%d) 0x%08X)",frame,addr); + log(FOOLOS_MODULE_NAME,99,"free block (%d) 0x%08X)",frame,addr); } @@ -151,7 +151,7 @@ uint32_t mem_init(multiboot_information *info) { if(info->flags&&1<<6) { - log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"memory map of length %d provided by bootloader",info->mmap_length); + log(FOOLOS_MODULE_NAME,5,"memory map of length %d provided by bootloader",info->mmap_length); } else panic(FOOLOS_MODULE_NAME,"Unable to continue without memory map, sorry!"); @@ -160,8 +160,8 @@ uint32_t mem_init(multiboot_information *info) uint64_t memmap=info->mmap_addr; uint64_t length=info->mmap_length; - log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"kernel loaded at: 0x%08X- 0x%08X",kernel_start,kernel_end); - log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"initial stack at: 0x%08X- 0x%08X",stack_top,stack_bottom); + log(FOOLOS_MODULE_NAME,5,"kernel loaded at: 0x%08X- 0x%08X",kernel_start,kernel_end); + log(FOOLOS_MODULE_NAME,5,"initial stack at: 0x%08X- 0x%08X",stack_top,stack_bottom); // count available mem and track high_end of usable memory uint32_t total_mem=0, highest_end; @@ -174,7 +174,7 @@ uint32_t mem_init(multiboot_information *info) uint64_t mem_end=mmap->base_addr+mmap->length; #ifdef MEM_PRINT_MEMORYMAP - log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"%08X - %08X / type: %s, (size: %d)", + log(FOOLOS_MODULE_NAME,5,"%08X - %08X / type: %s, (size: %d)", (uint32_t)mem_start, (uint32_t)mem_end, memmap_type_to_string[mmap->type-1], mmap->size); #endif @@ -201,7 +201,7 @@ uint32_t mem_init(multiboot_information *info) multiboot_mod *mod=(multiboot_mod *)info->mods_addr; for(int i=0;i<info->mods_count;i++) { - log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"mod 0x%08X-0x%08X : %s", + log(FOOLOS_MODULE_NAME,5,"mod 0x%08X-0x%08X : %s", mod->mod_start,mod->mod_end, mod->string); mem_min_block=mod->mod_end/PMMNGR_BLOCK_SIZE+1; @@ -218,9 +218,9 @@ uint32_t mem_init(multiboot_information *info) // we deinit everything below mem_min_block anyway pmmngr_deinit_region(0,mem_min_block*PMMNGR_BLOCK_SIZE); - log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"Usable ~%d / %d MB ",mem_free_blocks*4096/1024/1024,total_mem/1024/1024); + log(FOOLOS_MODULE_NAME,5,"Usable ~%d / %d MB ",mem_free_blocks*4096/1024/1024,total_mem/1024/1024); - log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO, + log(FOOLOS_MODULE_NAME,5, "Free 4K blocks: %d (first free: %d)",mem_free_blocks,mem_min_block); return mem_min_block; diff --git a/kernel/mp.c b/kernel/mp.c index 76754b8..83c50e7 100644 --- a/kernel/mp.c +++ b/kernel/mp.c @@ -3,7 +3,6 @@ #include <stdbool.h> #include "asm/x86.h" -#include "lib/logger/log.h" // logger facilities #include "smp.h" @@ -67,15 +66,15 @@ uint8_t *walk_mp_table(uint8_t *start_addr,smp_processors *smp) { if(*start_addr==0x0||*start_addr==0x2) - log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"entry type: %d",*start_addr); + log(FOOLOS_MODULE_NAME,5,"entry type: %d",*start_addr); // that is a processor if(*start_addr==0x00) { proc_entry *pro=start_addr; - log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"local apic id: %02X",pro->apic_id); - log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"cpu enabled bit: %s",pro->cpu_bits&1?"yes":"no"); - log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"bootstrap cpu bit: %s",pro->cpu_bits&2?"yes":"no"); + log(FOOLOS_MODULE_NAME,5,"local apic id: %02X",pro->apic_id); + log(FOOLOS_MODULE_NAME,5,"cpu enabled bit: %s",pro->cpu_bits&1?"yes":"no"); + log(FOOLOS_MODULE_NAME,5,"bootstrap cpu bit: %s",pro->cpu_bits&2?"yes":"no"); // that is a enabled processor if(pro->cpu_bits&1) @@ -102,12 +101,12 @@ void do_mp_conf(mp_config *addr,smp_processors *procdata) uint32_t *buf_addr=buf; *buf_addr=addr->sig; - log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"mp_config table addr: %08X",addr); - log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"mp_config signature: %s",buf); - log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"mp_config version: %02X",addr->version); - log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"mp_config # of entries: %d",addr->entries); - log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"mp_config local apic addr: 0x%08X",addr->local_apic); - log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"mp_config tabel length: %d",addr->length); + log(FOOLOS_MODULE_NAME,5,"mp_config table addr: %08X",addr); + log(FOOLOS_MODULE_NAME,5,"mp_config signature: %s",buf); + log(FOOLOS_MODULE_NAME,5,"mp_config version: %02X",addr->version); + log(FOOLOS_MODULE_NAME,5,"mp_config # of entries: %d",addr->entries); + log(FOOLOS_MODULE_NAME,5,"mp_config local apic addr: 0x%08X",addr->local_apic); + log(FOOLOS_MODULE_NAME,5,"mp_config tabel length: %d",addr->length); uint8_t *start_addr=addr; start_addr+=44; @@ -135,10 +134,10 @@ bool do_mp_fps(mp_fps *addr,smp_processors *procdata) uint32_t *buf_addr=buf; *buf_addr=addr->sig; - log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"signature: %s",buf); - log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"conf: %08X",addr->conf); - log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"ver: %02X",addr->version); - log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"f1: %02X",addr->features1); + log(FOOLOS_MODULE_NAME,5,"signature: %s",buf); + log(FOOLOS_MODULE_NAME,5,"conf: %08X",addr->conf); + log(FOOLOS_MODULE_NAME,5,"ver: %02X",addr->version); + log(FOOLOS_MODULE_NAME,5,"f1: %02X",addr->features1); if(addr->features1!=0)panic(FOOLOS_MODULE_NAME,"Intel default config not supported yet!"); do_mp_conf(addr->conf,procdata); @@ -150,13 +149,13 @@ bool do_mp_fps(mp_fps *addr,smp_processors *procdata) bool mp_find(smp_processors *procdata) { - log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"Looking for Mp Floating Ponter Struct..."); + log(FOOLOS_MODULE_NAME,5,"Looking for Mp Floating Ponter Struct..."); uint8_t *addr=0x8000; while(addr<=0xfffff) { if(!strcmp_l("_MP_",addr,4)) { - // log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"Found at 0x%04X",addr); + // log(FOOLOS_MODULE_NAME,5,"Found at 0x%04X",addr); if(do_mp_fps(addr,procdata))return true; } addr++; @@ -167,7 +166,7 @@ bool mp_find(smp_processors *procdata) { if(!strcmp_l("_MP_",addr,4)) { - // log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"Found at 0x%04X",addr); + // log(FOOLOS_MODULE_NAME,5,"Found at 0x%04X",addr); if(do_mp_fps(addr,procdata))return true; } addr++; diff --git a/kernel/multiboot.c b/kernel/multiboot.c index 0440b8e..8a9f59d 100644 --- a/kernel/multiboot.c +++ b/kernel/multiboot.c @@ -2,7 +2,6 @@ #define FOOLOS_MODULE_NAME "multiboot" #include "multiboot.h" #include "driver/vesa.h" -#include "lib/logger/log.h" multiboot_information* get_multiboot(uint32_t eax, uint32_t ebx) { @@ -11,74 +10,74 @@ multiboot_information* get_multiboot(uint32_t eax, uint32_t ebx) multiboot_information *info; info=ebx; - log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"multiboot flags: 0x%08X",info->flags); + log(FOOLOS_MODULE_NAME,5,"multiboot flags: 0x%08X",info->flags); if(info->flags&&1<<0) { - log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"[0] mem_lower: %d KB",info->mem_lower); - log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"[0] mem_upper: %d KB",info->mem_upper); + log(FOOLOS_MODULE_NAME,5,"[0] mem_lower: %d KB",info->mem_lower); + log(FOOLOS_MODULE_NAME,5,"[0] mem_upper: %d KB",info->mem_upper); } if(info->flags&&1<<1) { - log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"[1] boot-device 0x%08X",info->boot_device); + log(FOOLOS_MODULE_NAME,5,"[1] boot-device 0x%08X",info->boot_device); } if(info->flags&&1<<2) { - log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"[2] cmdline: \"%s\"",info->cmdline); + log(FOOLOS_MODULE_NAME,5,"[2] cmdline: \"%s\"",info->cmdline); } if(info->flags&&1<<3) { - log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"[3] loaded modules count: %d",info->mods_count); + log(FOOLOS_MODULE_NAME,5,"[3] loaded modules count: %d",info->mods_count); } if(info->flags&&1<<4) { - log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"[4/5] a.out kernel image symbols found"); + log(FOOLOS_MODULE_NAME,5,"[4/5] a.out kernel image symbols found"); } if(info->flags&&1<<5) { - log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"[4/5] ELF table: %d entries (sized %d) at 0x%08X",info->syms[0],info->syms[1],info->syms[2]); + log(FOOLOS_MODULE_NAME,5,"[4/5] ELF table: %d entries (sized %d) at 0x%08X",info->syms[0],info->syms[1],info->syms[2]); } if(info->flags&&1<<6) { - log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"[6] Found memory map"); + log(FOOLOS_MODULE_NAME,5,"[6] Found memory map"); } if(info->flags&&1<<7) { - log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"[7] Found Drives map"); + log(FOOLOS_MODULE_NAME,5,"[7] Found Drives map"); } if(info->flags&&1<<8) { - log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"[8] ROM Configuration Table at: 0x%08X",info->config_table); + log(FOOLOS_MODULE_NAME,5,"[8] ROM Configuration Table at: 0x%08X",info->config_table); } if(info->flags&&1<<9) { - log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"[9] Loaded by: \"%s\"",info->boot_loader_name); + log(FOOLOS_MODULE_NAME,5,"[9] Loaded by: \"%s\"",info->boot_loader_name); } if(info->flags&&1<<10) { - log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"[10] APM Table present."); + log(FOOLOS_MODULE_NAME,5,"[10] APM Table present."); } if(info->flags&&1<<11) { - log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"[11] VBE control info: 0x%08X",info->vbe_control_info); - log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"[11] VBE mode info: 0x%08X",info->vbe_mode_info); - log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"[11] VBE current mode (spec V3.0): 0x%08X",info->vbe_mode); + log(FOOLOS_MODULE_NAME,5,"[11] VBE control info: 0x%08X",info->vbe_control_info); + log(FOOLOS_MODULE_NAME,5,"[11] VBE mode info: 0x%08X",info->vbe_mode_info); + log(FOOLOS_MODULE_NAME,5,"[11] VBE current mode (spec V3.0): 0x%08X",info->vbe_mode); } if(info->flags&&1<<12) { - log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"[12] Framebuffer (w:%d h:%d bpp:%d) at addr=0x%08X",info->framebuffer_width,info->framebuffer_height,info->framebuffer_bpp,info->framebuffer_addr); + log(FOOLOS_MODULE_NAME,5,"[12] Framebuffer (w:%d h:%d bpp:%d) at addr=0x%08X",info->framebuffer_width,info->framebuffer_height,info->framebuffer_bpp,info->framebuffer_addr); } return info; diff --git a/kernel/ringbuffer.c b/kernel/ringbuffer.c index 6085aaf..69f11b2 100644 --- a/kernel/ringbuffer.c +++ b/kernel/ringbuffer.c @@ -1,6 +1,4 @@ #define FOOLOS_MODULE_NAME "ringbuffer" -#include "lib/logger/log.h" - #include "ringbuffer.h" // TODO: this is disabled because a kb interrupt can occur anytime diff --git a/kernel/scheduler.c b/kernel/scheduler.c index 453d4f4..657baf2 100644 --- a/kernel/scheduler.c +++ b/kernel/scheduler.c @@ -4,7 +4,6 @@ #define FOOLOS_MODULE_NAME "task" #include "kernel.h" -#include "lib/logger/log.h" // logger facilities #include "mem.h" #include "asm/x86.h" @@ -76,7 +75,7 @@ volatile uint32_t my_scheduler(uint32_t oldesp) if(task_list[pid].active && !task_list[pid].waiting) { // if(current_task!=pid) -// log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"switch from %d to %d", current_task, pid); +// log(FOOLOS_MODULE_NAME,5,"switch from %d to %d", current_task, pid); current_task=pid; install_tss(task_list[pid].esp0); @@ -106,19 +105,19 @@ volatile uint32_t task_exit(uint32_t oldesp) task_list[current_task].active=false; int parent_pid=task_list[current_task].parent; - log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"[%d] exit ", current_task); + log(FOOLOS_MODULE_NAME,5,"[%d] exit ", current_task); if(task_list[parent_pid].active) { if(task_list[parent_pid].waiting) { - log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"[%d] wake up", parent_pid); + log(FOOLOS_MODULE_NAME,5,"[%d] wake up", parent_pid); task_list[parent_pid].waiting=false; } else { - log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"[%d] skipwait", parent_pid); + log(FOOLOS_MODULE_NAME,5,"[%d] skipwait", parent_pid); task_list[parent_pid].skipwait=true; } @@ -132,7 +131,7 @@ volatile uint32_t task_exit(uint32_t oldesp) volatile uint32_t task_wait(uint32_t oldesp) { - log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"[%d] wait", current_task); + log(FOOLOS_MODULE_NAME,5,"[%d] wait", current_task); if(task_list[current_task].skipwait) { task_list[current_task].skipwait=false; @@ -147,7 +146,7 @@ volatile uint32_t task_wait(uint32_t oldesp) volatile uint32_t task_fork(uint32_t oldesp) { int pid=add_task(oldesp,vmem_new_space_dir(task_list[current_task].vmem)); - log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"[%d] forked -> [%d] (free blocks remaining: %d )", current_task, pid,mem_get_free_blocks_count()); + log(FOOLOS_MODULE_NAME,5,"[%d] forked -> [%d] (free blocks remaining: %d )", current_task, pid,mem_get_free_blocks_count()); return pid; } diff --git a/kernel/smashing.c b/kernel/smashing.c index a96030c..4b7c206 100644 --- a/kernel/smashing.c +++ b/kernel/smashing.c @@ -1,5 +1,4 @@ #include <stdint.h> -#include "lib/logger/log.h" // CODE FOR Stack Smashing Protector. // Do not duplicate with userspace / sys.c // http://wiki.osdev.org/Stack_Smashing_Protector diff --git a/kernel/smp.c b/kernel/smp.c index 815d951..2751d37 100644 --- a/kernel/smp.c +++ b/kernel/smp.c @@ -5,7 +5,6 @@ #define FOOLOS_MODULE_NAME "smp" -#include "lib/logger/log.h" #include <stdint.h> #include "smp.h" #include "mem.h" @@ -28,12 +27,12 @@ void smp_main() { x86_cli(); - log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"local apic_addr:0x%08X",local_apic_addr); + log(FOOLOS_MODULE_NAME,5,"local apic_addr:0x%08X",local_apic_addr); while(1); //TODO!!! uint32_t *reg=local_apic_addr+FOOLOS_APIC_ID; - // log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"local apic id: 0x%08X",(*reg)); + // log(FOOLOS_MODULE_NAME,5,"local apic id: 0x%08X",(*reg)); *reg=local_apic_addr+FOOLOS_APIC_SPUR_INT; *reg|=0x100;//0xffffffff; // all bits 1 and interrupt 255 @@ -68,7 +67,7 @@ void kernel_ap() cpu_counter[p]++; //lock_spin(0); - if(cpu_counter[p]%1000000==0)log(FOOLOS_MODULE_NAME,FOOLOS_LOG_DEBUG,"cpu[%d] %d",p,cpu_counter[p]); + if(cpu_counter[p]%1000000==0)log(FOOLOS_MODULE_NAME,20,"cpu[%d] %d",p,cpu_counter[p]); //lock_release(0); } @@ -76,10 +75,10 @@ void kernel_ap() void smp_log_procdata(smp_processors *procdata) { - log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"---- smp -----"); + log(FOOLOS_MODULE_NAME,5,"---- smp -----"); for(int i=0;i<procdata->processors;i++) { - log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"cpu %d, apic_id: 0x%X, bps: %s, apic_addr:0x%08X",i,procdata->local_apic_id[i],i==procdata->boot?"yes":"no",procdata->local_apic_address); + log(FOOLOS_MODULE_NAME,5,"cpu %d, apic_id: 0x%X, bps: %s, apic_addr:0x%08X",i,procdata->local_apic_id[i],i==procdata->boot?"yes":"no",procdata->local_apic_address); } } @@ -102,13 +101,13 @@ void smp_start_aps(smp_processors *pros,char *path) // *reg=0; uint32_t *reg=local_apic_addr+FOOLOS_APIC_ID; - log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"local apic id: 0x%08X",(*reg)); + log(FOOLOS_MODULE_NAME,5,"local apic id: 0x%08X",(*reg)); for(int i=0;i<pros->processors;i++) { if(pros->boot==i)continue; - log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"starting cpu %d",i); + log(FOOLOS_MODULE_NAME,5,"starting cpu %d",i); uint8_t dest=pros->local_apic_id[i]; diff --git a/kernel/spinlock.c b/kernel/spinlock.c index 04e359a..99121c0 100644 --- a/kernel/spinlock.c +++ b/kernel/spinlock.c @@ -3,7 +3,6 @@ #include "kernel.h" -#include "lib/logger/log.h" #include "asm/x86.h" // https://gcc.gnu.org/onlinedocs/gcc/_005f_005fatomic-Builtins.html @@ -12,9 +11,9 @@ static volatile uint32_t spinlocks[NUMBER_SPINLOCKS]; void check_spinlocks() { - log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"Spinlocks at 0x%08X ",spinlocks); + log(FOOLOS_MODULE_NAME,5,"Spinlocks at 0x%08X ",spinlocks); for(int i=0;i<NUMBER_SPINLOCKS;i++) - log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"%d",spinlocks[i]); + log(FOOLOS_MODULE_NAME,5,"%d",spinlocks[i]); } /* diff --git a/kernel/syscalls.c b/kernel/syscalls.c index db23a17..baa341f 100644 --- a/kernel/syscalls.c +++ b/kernel/syscalls.c @@ -1,6 +1,5 @@ #define FOOLOS_MODULE_NAME "syscalls" -#include "lib/logger/log.h" #include "lib/string/string.h" #include "fs/fs.h" #include "fs/ext2.h" @@ -56,7 +55,7 @@ int syscall_gettimeofday(struct timeval *tv, struct timezone *tz) int syscall_lseek(int file,int ptr,int dir) { #ifdef LOG_SYSCALLS - log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"lseek (file=%d, ptr=%d, dir=%d)", file,ptr,dir); + log(FOOLOS_MODULE_NAME,5,"lseek (file=%d, ptr=%d, dir=%d)", file,ptr,dir); #endif panic(FOOLOS_MODULE_NAME,"unhandled syscall: lseek"); @@ -68,7 +67,7 @@ int syscall_lseek(int file,int ptr,int dir) int syscall_write(int file, char *buf, int len) { #ifdef LOG_SYSCALLS - log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"[%d] write(file=%d, buf=0x%08X, len=%d)", task_get_current_pid(),file,buf,len); + log(FOOLOS_MODULE_NAME,5,"[%d] write(file=%d, buf=0x%08X, len=%d)", task_get_current_pid(),file,buf,len); #endif for(int i=0;i<len;i++) @@ -82,7 +81,7 @@ int syscall_write(int file, char *buf, int len) int syscall_read(int file, char *buf, int len) { #ifdef LOG_SYSCALLS - log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"read(file=%d, buf=0x%08X, len=%d)", file,buf,len); + log(FOOLOS_MODULE_NAME,5,"read(file=%d, buf=0x%08X, len=%d)", file,buf,len); #endif //file 0 = stdin , file 1 = stdout , file 2 = stderr @@ -107,7 +106,7 @@ int syscall_read(int file, char *buf, int len) int syscall_readdir(const char *name,fs_dirent *dirs,int max) { #ifdef LOG_SYSCALLS - log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"readdir(name=0x%08X, dirs=0x%08X, %d)", name,dirs,max); + log(FOOLOS_MODULE_NAME,5,"readdir(name=0x%08X, dirs=0x%08X, %d)", name,dirs,max); #endif return fs_readdir(name,dirs,max); @@ -118,7 +117,7 @@ int syscall_poll(int file) { file=2; //workaround #ifdef LOG_SYSCALLS - log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"has data waiting?"); + log(FOOLOS_MODULE_NAME,5,"has data waiting?"); #endif return fd_has(&fds[file]); @@ -128,7 +127,7 @@ int syscall_poll(int file) int syscall_tune(int v1,int v2, int v3) { #ifdef LOG_SYSCALLS - log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"tuning request"); + log(FOOLOS_MODULE_NAME,5,"tuning request"); #endif // osbolete @@ -150,15 +149,15 @@ int syscall_tune(int v1,int v2, int v3) int copy_args(char **in, char **out) { - //log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"copy_args(0x%08x, 0x%08X)",in,out); + //log(FOOLOS_MODULE_NAME,5,"copy_args(0x%08x, 0x%08X)",in,out); int count=0; while(in[count]!=NULL) { -// log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"args(0x%08x: %s)",in[count],out); +// log(FOOLOS_MODULE_NAME,5,"args(0x%08x: %s)",in[count],out); count++; }; - // log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"copy_args : count: %d",count); + // log(FOOLOS_MODULE_NAME,5,"copy_args : count: %d",count); char **pos=out; pos+=sizeof(char **)*(count+1); @@ -180,7 +179,7 @@ int copy_args(char **in, char **out) int syscall_execve(char *name, char **argv, char **env) { #ifdef LOG_SYSCALLS - log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"execve (name=0x%08X(%s), argvs=0x%08X, env=0x%08X)", name,name,argv,env); + log(FOOLOS_MODULE_NAME,5,"execve (name=0x%08X(%s), argvs=0x%08X, env=0x%08X)", name,name,argv,env); #endif int arg_count=0; @@ -212,14 +211,14 @@ int syscall_execve(char *name, char **argv, char **env) if(!entry_global) { #ifdef LOG_SYSCALLS - log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"execve: bailing out!"); + log(FOOLOS_MODULE_NAME,5,"execve: bailing out!"); #endif return -1; // errror loading } /* try to move this to asm */ // asm volatile("jmp ."); // loop forever - //log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"returning to jump addy (0x%08X)", entry_global); + //log(FOOLOS_MODULE_NAME,5,"returning to jump addy (0x%08X)", entry_global); asm volatile("mov $0x8fff000,%esp"); // set stack at high end of process image @@ -248,7 +247,7 @@ int get_max_fd() int syscall_open(char *name, int flags, int mode) { #ifdef LOG_SYSCALLS - log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"open (name=0x%08X(\"%s\"), flags=%d, mode=%d)",name, name,flags,mode); + log(FOOLOS_MODULE_NAME,5,"open (name=0x%08X(\"%s\"), flags=%d, mode=%d)",name, name,flags,mode); #endif if( next_fifo>=MAX_FIFOS || next_fd>=MAX_FD)panic(FOOLOS_MODULE_NAME,"we ran out of fd's or fifo's"); @@ -287,7 +286,7 @@ int syscall_open(char *name, int flags, int mode) int syscall_close(int file,int none1,int none2) { #ifdef LOG_SYSCALLS - log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"close (file=%d)", file); + log(FOOLOS_MODULE_NAME,5,"close (file=%d)", file); #endif //if(file!=0&&file!=1&&file!=2) @@ -300,7 +299,7 @@ int syscall_close(int file,int none1,int none2) int syscall_isatty(int file,int none1,int none2) { #ifdef LOG_SYSCALLS - log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"isatty (file=%d)", file); + log(FOOLOS_MODULE_NAME,5,"isatty (file=%d)", file); #endif return 1; @@ -318,7 +317,7 @@ uint32_t syscall_sbrk(int incr, int none1, int none2) task_set_brk(alloc); #ifdef LOG_SYSCALLS - log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"sbrk (incr=%d) = 0x%08X", incr,oldalloc); + log(FOOLOS_MODULE_NAME,5,"sbrk (incr=%d) = 0x%08X", incr,oldalloc); #endif return oldalloc; @@ -328,7 +327,7 @@ uint32_t syscall_sbrk(int incr, int none1, int none2) int syscall_stat(const char *path, struct stat *st,int none) { #ifdef LOG_SYSCALLS - log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"stat (path=0x%08X,stat=0x%08X)", path,st); + log(FOOLOS_MODULE_NAME,5,"stat (path=0x%08X,stat=0x%08X)", path,st); #endif st->st_mode = S_IFCHR; diff --git a/kernel/usermode.c b/kernel/usermode.c index 7ec27d5..ca1385d 100644 --- a/kernel/usermode.c +++ b/kernel/usermode.c @@ -8,8 +8,6 @@ #include "asm/usermode.h" #include "kernel.h" -#include "lib/logger/log.h" - #include <stddef.h> //https://wiki.osdev.org/Task_State_Segment diff --git a/kernel/vmem.c b/kernel/vmem.c index f0fb9d3..bf310c1 100644 --- a/kernel/vmem.c +++ b/kernel/vmem.c @@ -6,7 +6,7 @@ #include "asm/x86.h" #include "mem.h" #include "vmem.h" -#include "lib/logger/log.h" // logger facilities + #define FOOLOS_MODULE_NAME "vmem" static uint32_t kernel_pages; @@ -249,7 +249,7 @@ pdirectory* vmem_new_space_dir(pdirectory *copy_dir) // pdirectory* dir = (pdirectory*) kballoc(1); - log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"new pdirectory: 0x%X",dir); + log(FOOLOS_MODULE_NAME,5,"new pdirectory: 0x%X",dir); if (!dir)panic(FOOLOS_MODULE_NAME,"unable to alloc pdirectory"); // first of all let's zero all the entries @@ -374,14 +374,14 @@ pdirectory* vmem_new_space_dir(pdirectory *copy_dir) oldentry=&(copy_dir->m_entries[PAGE_DIRECTORY_INDEX(virt_addr)]); oldtable=pd_entry_get_frame(oldentry); } - log(FOOLOS_MODULE_NAME,FOOLOS_LOG_DEBUG,"oldtable at: 0x%08X",oldtable); + log(FOOLOS_MODULE_NAME,20,"oldtable at: 0x%08X",oldtable); if (!table)panic(FOOLOS_MODULE_NAME,"unable to alloc table"); - log(FOOLOS_MODULE_NAME,FOOLOS_LOG_DEBUG,"alloc table: %08X",table); + log(FOOLOS_MODULE_NAME,20,"alloc table: %08X",table); for (int i=0, virt=virt_addr; i<1024; i++, virt+=4096) { - //log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"i = %d",i); + //log(FOOLOS_MODULE_NAME,5,"i = %d",i); phys_addr=pmmngr_alloc_block(); // get free space from the memory manager if (!phys_addr)panic(FOOLOS_MODULE_NAME,"unable to alloc spce for frame"); @@ -389,7 +389,7 @@ pdirectory* vmem_new_space_dir(pdirectory *copy_dir) if(copy_dir!=NULL) { uint32_t addr_old=pt_entry_get_frame(&oldtable->m_entries[PAGE_TABLE_INDEX(virt)]); - log(FOOLOS_MODULE_NAME,FOOLOS_LOG_FINE,"physical memcpy(0x%08X,0x%08X,4096)",phys_addr, addr_old); + log(FOOLOS_MODULE_NAME,99,"physical memcpy(0x%08X,0x%08X,4096)",phys_addr, addr_old); memcpy(phys_addr,addr_old,4096); } @@ -434,10 +434,10 @@ pdirectory* vmem_new_space_dir(pdirectory *copy_dir) oldentry=&(copy_dir->m_entries[PAGE_DIRECTORY_INDEX(virt_addr)]); oldtable=pd_entry_get_frame(oldentry); } - log(FOOLOS_MODULE_NAME,FOOLOS_LOG_DEBUG,"oldtable at: 0x%08X",oldtable); + log(FOOLOS_MODULE_NAME,20,"oldtable at: 0x%08X",oldtable); if (!table)panic(FOOLOS_MODULE_NAME,"unable to alloc table"); - log(FOOLOS_MODULE_NAME,FOOLOS_LOG_DEBUG,"alloc table: %08X",table); + log(FOOLOS_MODULE_NAME,20,"alloc table: %08X",table); for (int i=0, virt=virt_addr; i<1024; i++, virt+=4096) { @@ -448,7 +448,7 @@ pdirectory* vmem_new_space_dir(pdirectory *copy_dir) if(copy_dir!=NULL) { uint32_t addr_old=pt_entry_get_frame(&oldtable->m_entries[PAGE_TABLE_INDEX(virt)]); - log(FOOLOS_MODULE_NAME,FOOLOS_LOG_FINE,"physical memcpy(0x%08X,0x%08X,4096)",phys_addr, addr_old); + log(FOOLOS_MODULE_NAME,99,"physical memcpy(0x%08X,0x%08X,4096)",phys_addr, addr_old); memcpy(phys_addr,addr_old,4096); } @@ -481,7 +481,7 @@ pdirectory* vmem_new_space_dir(pdirectory *copy_dir) if(copy_dir==NULL) // this happens only on init { - log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"initializing virtual memory (paging)"); + log(FOOLOS_MODULE_NAME,5,"initializing virtual memory (paging)"); x86_set_page_directory(dir); } diff --git a/terminal/terminal.c b/terminal/terminal.c index 268310e..8fec95c 100644 --- a/terminal/terminal.c +++ b/terminal/terminal.c @@ -10,7 +10,6 @@ #include "kernel/kmalloc.h" #include "driver/screen.h" -#include "lib/logger/log.h" #include <stddef.h> diff --git a/xxx/inactive/floppy.c b/xxx/inactive/floppy.c index ea9e76e..56ec856 100644 --- a/xxx/inactive/floppy.c +++ b/xxx/inactive/floppy.c @@ -57,7 +57,7 @@ void flpydsk_initialize_dma () { x86_outb (0x80, 0); //external page register = 0 x86_outb (0x0a, 0x02); //unmask dma channel 2 - log("dma",FOOLOS_LOG_INFO,"initialized"); + log("dma",5,"initialized"); } //! prepare the DMA for read transfer @@ -67,7 +67,7 @@ void flpydsk_dma_read () { x86_outb (0x0b, 0x56); //single transfer, address increment, autoinit, read, channel 2 x86_outb (0x0a, 0x02); //unmask dma channel 2 - log("dma",FOOLOS_LOG_INFO,"configured for reading"); + log("dma",5,"configured for reading"); } //! prepare the DMA for write transfer @@ -76,7 +76,7 @@ void flpydsk_dma_write () { x86_outb (0x0a, 0x06); //mask dma channel 2 x86_outb (0x0b, 0x5a); //single transfer, address increment, autoinit, write, channel 2 x86_outb (0x0a, 0x02); //unmask dma channel 2 - log("dma",FOOLOS_LOG_INFO,"configured for writing"); + log("dma",5,"configured for writing"); } // // @@ -169,7 +169,7 @@ void flpydsk_write_ccr (uint8_t val) { void flpydsk_motor_on() { - log(FOOLOS_MODULE_NAME,FOOLOS_LOG_DEBUG,"starting motor..."); + log(FOOLOS_MODULE_NAME,20,"starting motor..."); //x86_outb (FLPYDSK_DOR, FLPYDSK_DOR_MASK_DRIVE0_MOTOR | FLPYDSK_DOR_MASK_RESET); x86_outb (FLPYDSK_DOR, 0x1c); sleep(10); // wait ~ 1/3 second @@ -177,7 +177,7 @@ void flpydsk_motor_on() void flpydsk_motor_off() { - log(FOOLOS_MODULE_NAME,FOOLOS_LOG_DEBUG,"stopping motor..."); + log(FOOLOS_MODULE_NAME,20,"stopping motor..."); x86_outb (FLPYDSK_DOR, 0x0c); } @@ -188,7 +188,7 @@ int flpydsk_calibrate (uint32_t drive) { if (drive >= 4) { - log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"ERROR!"); + log(FOOLOS_MODULE_NAME,5,"ERROR!"); return -2; } @@ -198,7 +198,7 @@ int flpydsk_calibrate (uint32_t drive) { int i; for (i = 0; i < 10; i++) { - log(FOOLOS_MODULE_NAME,FOOLOS_LOG_DEBUG,"calibrating"); + log(FOOLOS_MODULE_NAME,20,"calibrating"); //! send command flpydsk_send_command ( FDC_CMD_CALIBRATE ); flpydsk_send_command ( drive ); @@ -208,14 +208,14 @@ int flpydsk_calibrate (uint32_t drive) { //! did we fine cylinder 0? if so, we are done if (!cyl) { if(st0 & 0xC0) { - log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"calibrating FAILED!"); + log(FOOLOS_MODULE_NAME,5,"calibrating FAILED!"); } // flpydsk_control_motor (false); flpydsk_motor_off(); return 0; } } - log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"calibrating FAILED!"); + log(FOOLOS_MODULE_NAME,5,"calibrating FAILED!"); // flpydsk_control_motor (false); flpydsk_motor_off(); @@ -249,7 +249,7 @@ uint8_t flpydsk_read_data () { if ( flpydsk_read_status () & FLPYDSK_MSR_MASK_DATAREG ) return x86_inb (FLPYDSK_FIFO); - log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"reading data FAILED!"); + log(FOOLOS_MODULE_NAME,5,"reading data FAILED!"); } void flpydsk_send_command (uint8_t cmd) { @@ -261,7 +261,7 @@ void flpydsk_send_command (uint8_t cmd) { x86_outb(FLPYDSK_FIFO, cmd); return; } - log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"writing data FAILED!"); + log(FOOLOS_MODULE_NAME,5,"writing data FAILED!"); } void flpydsk_drive_data (uint32_t stepr, uint32_t loadt, uint32_t unloadt, int dma ) { @@ -282,7 +282,7 @@ void flpydsk_reset() uint32_t st0, cyl; //! reset the controller - log(FOOLOS_MODULE_NAME,FOOLOS_LOG_DEBUG,"reset controller"); + log(FOOLOS_MODULE_NAME,20,"reset controller"); flpydsk_disable_controller (); flpydsk_enable_controller (); flpydsk_wait_irq (); @@ -316,7 +316,7 @@ void int_floppy_handler() void flpydsk_wait_irq() { - log(FOOLOS_MODULE_NAME,FOOLOS_LOG_FINE,"waiting for irq6"); + log(FOOLOS_MODULE_NAME,99,"waiting for irq6"); while (1) { @@ -329,7 +329,7 @@ void flpydsk_wait_irq() _FloppyDiskIRQ = 0; x86_int_enable(); - log(FOOLOS_MODULE_NAME,FOOLOS_LOG_FINE,"irq6 received"); + log(FOOLOS_MODULE_NAME,99,"irq6 received"); } void flpydsk_check_int (uint32_t* st0, uint32_t* cyl) { @@ -347,7 +347,7 @@ void flpydsk_write_sector_imp (uint8_t head, uint8_t track, uint8_t sector) { flpydsk_dma_write (); //flpydsk_drive_data (13, 1, 0xf, 0); - log(FOOLOS_MODULE_NAME,FOOLOS_LOG_DEBUG,"writing head/track/sector"); + log(FOOLOS_MODULE_NAME,20,"writing head/track/sector"); uint32_t st0, cyl; @@ -390,7 +390,7 @@ void flpydsk_read_sector_imp (uint8_t head, uint8_t track, uint8_t sector) { flpydsk_dma_read (); //flpydsk_drive_data (13, 1, 0xf, 0); - log(FOOLOS_MODULE_NAME,FOOLOS_LOG_DEBUG,"reading head/track/sector"); + log(FOOLOS_MODULE_NAME,20,"reading head/track/sector"); uint32_t st0, cyl; @@ -441,7 +441,7 @@ int flpydsk_seek ( uint32_t cyl, uint32_t head ) int i; for (i = 0; i < 10; i++ ) { - log(FOOLOS_MODULE_NAME,FOOLOS_LOG_DEBUG,"seeking cyl: %d, head: %d",cyl,head); + log(FOOLOS_MODULE_NAME,20,"seeking cyl: %d, head: %d",cyl,head); //! send the command flpydsk_send_command (FDC_CMD_SEEK); @@ -477,7 +477,7 @@ void flpydsk_lba_to_chs (int lba,int *head,int *track,int *sector) { uint8_t* flpydsk_read_sector (int sectorLBA) { - log(FOOLOS_MODULE_NAME,FOOLOS_LOG_DEBUG,"reading sector: %d",sectorLBA); + log(FOOLOS_MODULE_NAME,20,"reading sector: %d",sectorLBA); if (_CurrentDrive >= 4) @@ -508,7 +508,7 @@ uint8_t* flpydsk_read_sector (int sectorLBA) { uint8_t* flpydsk_write_sector (int sectorLBA) { - log(FOOLOS_MODULE_NAME,FOOLOS_LOG_DEBUG,"writing sector: %d",sectorLBA); + log(FOOLOS_MODULE_NAME,20,"writing sector: %d",sectorLBA); if (_CurrentDrive >= 4) return 0; @@ -544,29 +544,29 @@ void floppy_init() _CurrentDrive=0; _FloppyDiskIRQ = 0; - log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"driver init (wathchdog: 0x%08X)",&_FloppyDiskIRQ); + log(FOOLOS_MODULE_NAME,5,"driver init (wathchdog: 0x%08X)",&_FloppyDiskIRQ); flpydsk_reset (); char *dma=0x0500; - log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"test reading"); + log(FOOLOS_MODULE_NAME,5,"test reading"); flpydsk_read_sector(65); - log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"finished reading"); + log(FOOLOS_MODULE_NAME,5,"finished reading"); flpydsk_reset (); flpydsk_read_sector(64); - log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"finished reading"); - log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"test read: %s",dma); + log(FOOLOS_MODULE_NAME,5,"finished reading"); + log(FOOLOS_MODULE_NAME,5,"test read: %s",dma); flpydsk_reset (); -// log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"test write (sector: 100)"); +// log(FOOLOS_MODULE_NAME,5,"test write (sector: 100)"); // flpydsk_write_sector(100); -// log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"finished writing"); +// log(FOOLOS_MODULE_NAME,5,"finished writing"); } |
