can anyone tell me which function to call to pause the kernel

walkerlala ablacktshirt at gmail.com
Tue May 17 08:29:12 EDT 2016


On 2016年05月17日 19:41, Mulyadi Santosa wrote:
>
>
> On Mon, May 16, 2016 at 7:36 AM, walkerlala <ablacktshirt at gmail.com
> <mailto:ablacktshirt at gmail.com>> wrote:
>
>     On 2016年05月16日 01:36, Mulyadi Santosa wrote:
>
>
>
>         On Thu, May 12, 2016 at 9:55 PM, walkerlala
>         <ablacktshirt at gmail.com <mailto:ablacktshirt at gmail.com>
>         <mailto:ablacktshirt at gmail.com <mailto:ablacktshirt at gmail.com>>>
>         wrote:
>
>              I successfully insert some function into the kernel code
>         and make it
>              execute when the kernel start up, but I just can't make the
>         kernel stop
>              executing. Are there any functions which can pause the
>         kernel so that I
>              prompt the user, and let the user input a command(maybe a
>         comment to
>              display the current time. Something like a shell would do) and
>              interact ?
>              (I had checked the "sys_***" functions in this page:
>         http://docs.cs.up.ac.za/programming/asm/derick_tut/syscalls.html
>                 but just can't find a proper one )
>
>              _______________________________________________
>              Kernelnewbies mailing list
>         Kernelnewbies at kernelnewbies.org
>         <mailto:Kernelnewbies at kernelnewbies.org>
>         <mailto:Kernelnewbies at kernelnewbies.org
>         <mailto:Kernelnewbies at kernelnewbies.org>>
>         http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
>
>
>         Hi...
>
>         sounds like what kgdb does. But not sure if it is still
>         maintained or not.
>
>         btw, kernel can not be paused, actually. if you really need
>         that, you
>         need to run linux kernel inside virtual machine and pause the
>         virtual
>         machine. But doing that, you will also pause user space too :)
>
>         --
>         regards,
>
>         Mulyadi Santosa
>         Freelance Linux trainer and consultant
>
>         blog: the-hydra.blogspot.com <http://the-hydra.blogspot.com>
>         <http://the-hydra.blogspot.com>
>         training: mulyaditraining.blogspot.com
>         <http://mulyaditraining.blogspot.com>
>         <http://mulyaditraining.blogspot.com>
>
>
>     Hi, thanks for reply.
>
>     I know using a debugger or virtual machine would help a little bit,
>     but that's not interactive any more. What I want is just a
>     shell-like "interactive" kernel (may be I am a little naive to think
>     that ?)
>
>     Why the kernel cannot be stopped ? I think, now that if the kernel
>     can be interrupted, then why can't it be stopped by some mechanisms ?
>
>     Regards,
>
>
>
> Hi...
>
> please add kernelnewbies to cc: list too next time :)
>
> Kernel can't be stopped, because it's actually servicing event mostly
> generated by hardware (interrupts etc) or user space (syscall etc). So
> unless you stop these two aspects to raise events, basically kernel will
> still do its works.
>
>
> --
> regards,
>
> Mulyadi Santosa
> Freelance Linux trainer and consultant
>
> blog: the-hydra.blogspot.com <http://the-hydra.blogspot.com>
> training: mulyaditraining.blogspot.com <http://mulyaditraining.blogspot.com>



Can I just disable interrupts from hardwares? I know that, at the very 
beginning, the kernel disable interrupt for convenient. So I wonder 
whether we can do thing like this.

Put it in another way:
	when we "interact" with a Linux Desktop, there are also many programs 
running underneath as daemons, but we can still do our own works without 
even noting their existing. So I wonder, is there a similar way that we 
can use to interact with the kernel (without using a debugger) ?
	If there is, can you any one show me some examples ?



Thanks in advance
Regards,





More information about the Kernelnewbies mailing list