Skip to content
Stefan edited this page Jun 10, 2013 · 13 revisions

These are bugs we have introduced, but did not affected our project so far

  • lg_cpu.regs became a pointer (as in x86_32 version)
    • We have made an allocation without dealocating memory
    • In arch/x86_64/kernel/asm_offsets_64.c we need to reconsider a few symbols like LG_CPU_regs or LG_CPU_regs_rax
  • lg->cpus[] is no longer an array of pointers.
    • We don't allocate memory any more, but we have to eliminate the part where the memory was released because we'll get a free error
  • Regs variable is moved to lg_cpu
    • When RedHat wrote the switcher, regs variable was declared in lg_cpu_data structure. Afterwards it was moved to lg_cpu. This means we need to take care in switcher ASM code of a few variables:
+---------+ +--------+ +---->+----------+ | | +-->+-----+-------+ | | | | regs | | +--+ | | regs | | +----+ | | | | | | | | | +----------+ | lg_cpu | | +-------| | lg_cpu | | | | lg_cpu_data | | +--------->+--------------+ | | +-------------+ | | | lg_cpu_data | +---------+ +--------+ +--------------+
Clone this wiki locally