Intel® Moderncode for Parallel Architectures
Support for developing parallel programming applications on Intel® Architecture.
1696 Discussions

Source code for kernel level multi-core initialization

Frank_Miller
Beginner
432 Views

I tried this about six months ago but thought I would ask again. I have a small multi-threaded kernel written for ia32. I'd like to extend it to use multi-core support. I have read through the data books and white papers on smp and ipi so I have an idea what needs to be done. I've also spent some time looking through the Linux and FreeBSD code to see what they do. What I'm wondering is whether Intel provides source code examples (C or assembly) that will initialize a multi-core capable CPU to begin executing in multi-core mode.

Thanks,

FM

0 Kudos
4 Replies
Adam
Beginner
432 Views
Quoting - Frank Miller

I tried this about six months ago but thought I would ask again. I have a small multi-threaded kernel written for ia32. I'd like to extend it to use multi-core support. I have read through the data books and white papers on smp and ipi so I have an idea what needs to be done. I've also spent some time looking through the Linux and FreeBSD code to see what they do. What I'm wondering is whether Intel provides source code examples (C or assembly) that will initialize a multi-core capable CPU to begin executing in multi-core mode.

Thanks,

FM

What sort of kernel is it? If it is a microkernel, see if you can find source code for one of the L4 kernels (such as L4Ka::Pistachio) and see how it works. Are you comfortable with providing details about your kernel (not all the kernel source code is needed, just details with necessary code)

NOTE: I have been through L4Ka::Pistachio, but only the one for IA-64, I'm not sure if what you're looking for is with the IA-32 port

Try this: http://l4ka.org/projects/pistachio/

0 Kudos
Adam
Beginner
432 Views
Having said what I said before, I am NOT basing my OS on L4Ka::Pistachio for various reasons
0 Kudos
TimP
Honored Contributor III
432 Views
Quoting - Adam Kachwalla

Does that mean you take the term "kernel" in a similar sense to Pistachio (whatever sense that may be)? You seem to be so intentionally vague in your terminology that no one could answer you. A kernel might be part of the linux OS, e a core computational resource for an application, or a component of a benchmark.

0 Kudos
Adam
Beginner
432 Views
Quoting - tim18
Quoting - Adam Kachwalla

Does that mean you take the term "kernel" in a similar sense to Pistachio (whatever sense that may be)? You seem to be so intentionally vague in your terminology that no one could answer you. A kernel might be part of the linux OS, e a core computational resource for an application, or a component of a benchmark.

No. The kernel I am refering to is known as L4Ka::Pistachio. I am not saying that the kernel is a pistachio. Google L4Ka::Pistachio and this should pop up a few results

0 Kudos
Reply