hlist in list.h

2008-01-31 Thread Grob Team
Hi, I was looking the hlist's implementation in the linux kernel (linux/include/linux/list.h). The description of hlist_node is: struct hlist_node { struct hlist_node *next, **pprev; }; I don't understand why there is a pointer to a pointer (**pprev) for the previous node instead of a simple

Processes' kernel stack

2008-01-29 Thread Grob Team
Hi, I was reading the chapter of process Management in the book Linux Kernel Development and I see many references of process's kernel stack. AFAIK, processes don't have stack in the kernel, there is one global stack. However, each process have their thread_info structure at the end of this

Calling convention in real mode during early boot process

2007-12-31 Thread Grob Team
Hi, I was looking at the function go_to_protected_mode in arch/i386/boot/pm.c and at the end it calls protected_mode_jump witch is a function defined in arch/i386/bootbck/pmjump.S. The function protected_mode_jump has 2 arguments and according to the code they seems to be in %edx and %eax. I was

I/O space specification

2007-12-27 Thread Grob Team
Hi, I've been looking on the net to find the specification of the I/O space for the x86. For example, something telling that writing 0x80 to the I/O port 0x70 will disable NMI. I thought it was maybe in the Intel Architectures Software Developer's Manuals but I didn't fint it in those documents.