Re: Kernel header inclusion practice

2017-07-05 Thread Greg KH
On Wed, Jul 05, 2017 at 02:50:59PM +0800, Shiyao MA wrote:
> Hi,
> 
> How do you include the kernel headers?
> 
> For example,
> Currently I have the headers:
> #include 
> #include 
> #include 
> 
> And now I wanna use the  `struct workqueue_struct'. It turns out I
> don't have to include the "linux/workqueue.h".
> 
> So it must have already been included by the three headers above.
> 
> My question is:
> 
> What's the practice of including headers?
> Should I specifically include "linux/workqueue.h" ?

To be safe, yes, please do, sometimes other arches will not pull in the
.h files automatically that you expect them to.  So be specific.

> Another question is particular to the above three headers: does any of
> them guarantee to include the "linux/queue.h"?

Nope, if you need it, list it.

> If there is any documentation about the API of the headers (e.g., what
> they include), that will be great.

What exactly do you mean by this?

thanks,

greg k-h

___
Kernelnewbies mailing list
Kernelnewbies@kernelnewbies.org
https://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies


Re: Kernel header inclusion practice

2017-07-05 Thread Shiyao Ma
Thanks!

> On 5 Jul 2017, at 20:07, Greg KH  wrote:
> 
>> 
>> If there is any documentation about the API of the headers (e.g., what
>> they include), that will be great.
> 
> What exactly do you mean by this?


I mean if any kernel documentation specifies what the headers provide, IOW, 
what they include, and what functions/variables they declare.

So I guess probably not, the source code of kernel headers are their own 
documentation/specification.

Best,
___
Kernelnewbies mailing list
Kernelnewbies@kernelnewbies.org
https://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies


Kernel header inclusion practice

2017-07-05 Thread Shiyao MA
Hi,

How do you include the kernel headers?

For example,
Currently I have the headers:
#include 
#include 
#include 

And now I wanna use the  `struct workqueue_struct'. It turns out I
don't have to include the "linux/workqueue.h".

So it must have already been included by the three headers above.

My question is:

What's the practice of including headers?
Should I specifically include "linux/workqueue.h" ?


Another question is particular to the above three headers: does any of
them guarantee to include the "linux/queue.h"?

If there is any documentation about the API of the headers (e.g., what
they include), that will be great.


Best

___
Kernelnewbies mailing list
Kernelnewbies@kernelnewbies.org
https://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies


How to alloc_pages from a given physical memory?

2017-07-05 Thread kipade
Here I want to allocate a block of shared memory from a given physical 
address, such as 0x9000, 6M. However, alloc_pages can't fit this 
point. I had reserved enugh pages via cmem, there also have enough 
continous pages for such allocation anywhere else. What should I do?



___
Kernelnewbies mailing list
Kernelnewbies@kernelnewbies.org
https://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies


Re: Kernel header inclusion practice

2017-07-05 Thread Greg KH
On Wed, Jul 05, 2017 at 08:13:08PM +0800, Shiyao Ma wrote:
> Thanks!
> 
> > On 5 Jul 2017, at 20:07, Greg KH  wrote:
> > 
> >> 
> >> If there is any documentation about the API of the headers (e.g., what
> >> they include), that will be great.
> > 
> > What exactly do you mean by this?
> 
> 
> I mean if any kernel documentation specifies what the headers provide,
> IOW, what they include, and what functions/variables they declare.
> 
> So I guess probably not, the source code of kernel headers are their
> own documentation/specification.

Yes, the source itself is always the best documentation, it's always
kept up to date :)


___
Kernelnewbies mailing list
Kernelnewbies@kernelnewbies.org
https://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies


Can I use the same .config file to compile 32-bit and 64-bit kernel?

2017-07-05 Thread Hao Lee
Hi,

I'm currently configuring a custom kernel on Fedora x86_64. The first
option on the configuration menu is "64-bit kernel" which I think is
the only option controlling the architecture of kernel. Copying this
.config file to a 32-bit system directly and turning off this option,
can I compile a 32-bit kernel which doesn't have any hidden problems?
If this way is feasible, I think the only difference between these two
kernels is architecture.

Regards,
Hao Lee

___
Kernelnewbies mailing list
Kernelnewbies@kernelnewbies.org
https://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies