Changeset 771

Show
Ignore:
Timestamp:
07/09/08 18:48:27 (5 months ago)
Author:
mwhitworth
Message:

Add some more Preempt* macros.

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • Whitix/branches/fs/kernel/module.c

    r765 r771  
    121121#endif 
    122122 
     123SYMBOL_EXPORT(ModuleSymbolPrint); 
     124 
    123125DWORD ModuleResolveKernel(char* name) 
    124126{ 
     
    136138        struct Module* curr; 
    137139 
     140        PreemptDisable(); 
     141 
    138142        /* Look through the kernel symbol table of different modules. */ 
    139143        ListForEachEntry(curr, &moduleList, next) 
     
    148152                { 
    149153                        if (!strcmp(currSym->name, name)) 
     154                        { 
     155                                PreemptEnable(); 
    150156                                return currSym->addr; 
     157                        } 
    151158 
    152159                        currSym++; 
     
    155162        } 
    156163 
    157         KePrint("Could not resolve %s\n", name); 
     164        PreemptEnable(); 
    158165 
    159166        return 0; 
     
    198205                                        break; 
    199206 
    200                                 KePrint("Could not resolve %s\n", symName); 
     207                                KePrint(KERN_ERROR "%u: Could not resolve %s (%d, %#X), %#X %#X, %u < %u\n", current->pid, symName, strlen(symName), symName, module->strTable, symbol->symName, i, symSize); 
     208                                cli(); 
     209                                hlt(); 
     210 
    201211                                return -ENOENT; 
    202212 
     
    373383        module->keSymTab=ModuleSectionFind(module, (char*)file+sectionHeaders[elfHeader->strTabSectionIndex].shOffset, ".symtable", elfHeader->shEntries, &module->keSymTabSize); 
    374384 
     385        PreemptDisable(); 
    375386        ListAddTail(&module->next, &moduleList); 
     387        PreemptEnable(); 
    376388 
    377389        return ret;