Re: RFC: i386: kill !4KSTACKS

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



    Daniel> There are only two stacks involved, the normal kernel
    Daniel> stack and your new ndis stack.  You save ESP of the kernel
    Daniel> stack at the base of the ndis stack.  When the Windows
    Daniel> code calls your api, you get the ndis ESP, load the kernel
    Daniel> ESP from the base of the ndis stack, push the ndis ESP so
    Daniel> you can get back to the ndis code later, and continue on
    Daniel> your merry way.

    [...]

    Daniel> You will allocate your own stack once on driver
    Daniel> initialization.

I'm not quite sure it's this trivial.  Obviously there are more than
two stacks involved, since there is more than one kernel stack!  (One
per task plus IRQ stacks)  This is more than just a theoretical
problem.  It seems entirely possible that more than one task could
be in the driver, and clearly they each need their own stack.

So it's going to be at least a little harder than allocating a single
stack for NDIS use when the driver starts up.

I personally like the idea raised elsewhere in this thread of running
the Windows driver in userspace by proxying interrupts, PCI access,
etc.  That seems more robust and probably allows some cool reverse
engineering hacks.

 - R.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]
  Powered by Linux