course_os icon indicating copy to clipboard operation
course_os copied to clipboard

Multiprocessing

Open nasko25 opened this issue 3 years ago • 6 comments

  • Implemented a context switcher and a dispatcher.
  • Rewrote the software and irq handlers (they seems to work, but further testing would be beneficial)

nasko25 avatar Apr 26 '21 12:04 nasko25

The day has finally come for the merging storm! I will take a look it at a bit later today after my meetings

ValentijnvdBeek avatar Apr 26 '21 12:04 ValentijnvdBeek

@fayalalebrun Changed something with the early startup and the linker file which broke the build system. I haven't been able to figure it up until now, it should generate the DTB file correctly now but it just doesn't boot anymore. Typically this happens whenever the linker can't find the file.

To fix the build just generate the DTB file or add it as a dependency for the two elf files.

ValentijnvdBeek avatar Apr 26 '21 22:04 ValentijnvdBeek

@ValentijnvdBeek Indeed, I believe the error must be in the linking. Something must be happening differently in the new Meson build file.

However, I'm not able to run the kernel with the Meson build system, not even get qemu to start. Could you update the README? It still refers to Make as the build system.

fayalalebrun avatar Apr 27 '21 06:04 fayalalebrun

@ValentijnvdBeek Indeed, I believe the error must be in the linking. Something must be happening differently in the new Meson build file.

Yeah, I suppose it is with the DTB file. Which one needs to be linked in? The one generated by the build file or in src/common?

However, I'm not able to run the kernel with the Meson build system, not even get qemu to start. Could you update the README? It still refers to Make as the build system.

Qemu not starting is typical for a bad linker script, but I cannot tell what is wrong what is wrong with it now.

ValentijnvdBeek avatar Apr 27 '21 08:04 ValentijnvdBeek

Yeah, I suppose it is with the DTB file. Which one needs to be linked in? The one generated by the build file or in src/common?

The file in src/common is a binary file, so you can't link it directly. Hence an object file is generated from it by the build script, which is the one you have to link.

fayalalebrun avatar Apr 27 '21 08:04 fayalalebrun

When I run it, I get arm-none-eabi-gcc: error: dtb.o: No such file or directory

Perhaps kernel_elf is not set to depend on the dtb generation?

fayalalebrun avatar Apr 27 '21 09:04 fayalalebrun