Problem compiling Fiasco Kernel (kip.cc)
olivier
olivier.landemarre at free.fr
Sat Nov 28 22:41:41 CET 2009
Hello all
I'm currently trying compil current Fiasco Kernel under Cygwin,
unfortunatly I have a problem of compilation. when compiler try compil
kip.cc I have an assembler message that said: Error: junk at the end of
line, first unrecognized character is ','
Any Idea?
Thanks
Olivier
PS: my kip.cc
// AUTOMATICALLY GENERATED -- DO NOT EDIT! -*- c++ -*-
#include "kip.h"
#include "kip_i.h"
#line 47 "/tudos/kernel/fiasco/src/abi/kip.cpp"
//============================================================================
#line 182 "/tudos/kernel/fiasco/src/abi/kip.cpp"
//----------------------------------------------------------------------------
#line 188 "/tudos/kernel/fiasco/src/abi/kip.cpp"
Kip *Kip::global_kip;
#line 192 "/tudos/kernel/fiasco/src/abi/kip.cpp"
asm(".section .initkip.version, \"a\", %progbits \n" \
".string \"" CONFIG_KERNEL_VERSION_STRING "\" \n" \
".previous \n");
#line 196 "/tudos/kernel/fiasco/src/abi/kip.cpp"
asm(".section .initkip.features.fini, \"a\", %progbits \n" \
".string \"\" \n" \
".previous \n");
#line 110 "/tudos/kernel/fiasco/src/abi/kip.cpp"
bool Kip::add_mem_region(Mem_desc const &md)
{
Mem_desc *m = mem_descs();
Mem_desc *end = m + num_mem_descs();
for (;m<end;++m)
{
if (m->type() == Mem_desc::Undefined)
{
*m = md;
return true;
}
}
// Add mem region failed -- must be a Fiasco startup problem. Bail out.
assert (0);
return false;
}
#line 130 "/tudos/kernel/fiasco/src/abi/kip.cpp"
Mem_region Kip::last_free() const
{
Mem_desc const *m = mem_descs();
Mem_desc const *const end = m + num_mem_descs();
Mem_region r;
r.start = 0;
r.end = 0;
for (;m<end;++m)
{
Address s = m->start();
Address e = m->end();
// Speep out stupid descriptors (that have the end before the start)
if (s>=e)
{
const_cast<Mem_desc*>(m)->type(Mem_desc::Undefined);
continue;
}
if (m->is_virtual()) // skip virtual memory descriptors
continue;
switch (m->type())
{
case Mem_desc::Conventional:
if (e>r.end)
r.end = e;
if (s>r.start)
r.start = s;
break;
case Mem_desc::Reserved:
case Mem_desc::Dedicated:
case Mem_desc::Shared:
case Mem_desc::Arch:
case Mem_desc::Bootloader:
if (e>=r.start && e<r.end)
{
r.start = e + 1;
}
if (s>=r.start && s<r.end)
{
r.end = s - 1;
}
break;
default:
break;
}
}
return r;
}
More information about the l4-hackers
mailing list