DPMI application stack

  • Permalink
  • submit to reddit
  • Email
  • Follow


Of the four stacks maintained during a DPMI session, the `application
stack' is advertised as the one the client is on upon entering Protected
Mode. Is this the same stack the client was on just prior to the mode-
switch? If not (i.e., the host switches the client to the application
stack once Pmode begins), does this necessitate the client saving its
real-mode SS:SP for re-entry to real mode?


0
Reply Scott 1/20/2006 5:11:35 PM

See related articles to this posting


On 1/20/2006 12:11 PM, Scott J. McCaughrin wrote:
> Of the four stacks maintained during a DPMI session, the `application
> stack' is advertised as the one the client is on upon entering Protected
> Mode. Is this the same stack the client was on just prior to the mode-
> switch? If not (i.e., the host switches the client to the application
> stack once Pmode begins), does this necessitate the client saving its
> real-mode SS:SP for re-entry to real mode?

The stack upon entry to PM is the same as the one the client was on previously.

See the DPMI 1.0 spec, March 12, 1991, p. 22 "Client Initialization".  Upon 
entry to PM, SS is a selector with base of the real mode SS and a 64KB limit.

-- 
_________________________________________
Bob Smith -- bsmith@sudleydeplacespam.com
a.k.a.	     bsmith@dequalitasspam.com

To reply to me directly, delete "despam".

0
Reply Bob 1/20/2006 9:47:43 PM
comp.lang.asm.x86 4865 articles. 10 followers. Post

1 Replies
143 Views

Similar Articles

[PageSpeed] 35


  • Permalink
  • submit to reddit
  • Email
  • Follow


Reply:

Similar Artilces:

stack frame size on linux/solaris of a running application stack
Hi, what would be max stack frame size (of single frame) on Linux and Solaris/x86 of a running application stack? I am compiling c program with gcc on Suse 10 Linux kernel 2.6.13-15.13-default i386 centrino processor. gcc version -- 4.0.2 I have some 8KB structure (+ more data ) in a function and gcc with -fstack-check option gives warning about it. An obvious alternative is to malloc the data structure and pass on the pointer between functions. Thanks - Surinder -- Posted via a free Usenet account from http://www.teranews.com Surinder Singh <gogreenmiles@gmail.com> wrote: ...

Packets from bottom of TCP/IP stack direct to application bypassing stack
Hello Everyone I am working on a ADSL modem and have the following situation that I would like to have some advice on. I need to filter out some packages in the lower level of the network stack. There are 2 types of packages: [eth | ppp | ip | udp] and [eth | ip | udp], the data in these packages are the same and they can be identified with the first 16 bits in the UDP data. I have manage to catch these packages in the /net/core/dev.c file and function netif_rx(...) with the 16 bit ID so I have the packages. Now for my question: How do I in an easy way get these packages directly to my app...

Packets from bottom of TCP/IP stack direct to application by passing stack
Hello Everyone I am working on a ADSL modem and have the following situation that I would like to have some advice on. I need to filter out some packages in the lower level of the network stack. There are 2 types of packages: [eth | ppp | ip | udp] and [eth | ip | udp], the data in these packages are the same and they can be identified with the first 16 bits in the UDP data. I have manage to catch these packages in the /net/core/dev.c file and function netif_rx(...) with the 16 bit ID so I have the packages. Now for my question: How do I in an easy way get these packages directly to my app...

Packets from bottom of TCP/IP stack direct to application bypassing stack
Hello Everyone I am working on a ADSL modem and have the following situation that I would like to have some advice on. I need to filter out some packages in the lower level of the network stack. There are 2 types of packages: [eth | ppp | ip | udp] and [eth | ip | udp], the data in these packages are the same and they can be identified with the first 16 bits in the UDP data. I have manage to catch these packages in the /net/core/dev.c file and function netif_rx(...) with the 16 bit ID so I have the packages. Now for my question: How do I in an easy way get these packages dire...

Packets from bottom of TCP/IP stack direct to application by passing stack
Hello Everyone I am working on a ADSL modem and have the following situation that I would like to have some advice on. I need to filter out some packages in the lower level of the network stack. There are 2 types of packages: [eth | ppp | ip | udp] and [eth | ip | udp], the data in these packages are the same and they can be identified with the first 16 bits in the UDP data. I have manage to catch these packages in the /net/core/dev.c file and function netif_rx(...) with the 16 bit ID so I have the packages. Now for my question: How do I in an easy way get these packages dire...

Packets from bottom of TCP/IP stack direct to application bypassing stack
Hello Everyone I am working on a ADSL modem and have the following situation that I would like to have some advice on. I need to filter out some packages in the lower level of the network stack. There are 2 types of packages: [eth | ppp | ip | udp] and [eth | ip | udp], the data in these packages are the same and they can be identified with the first 16 bits in the UDP data. I have manage to catch these packages in the /net/core/dev.c file and function netif_rx(...) with the 16 bit ID so I have the packages. Now for my question: How do I in an easy way get these packages dire...

Make application's window focus after buried under stack of different applications
Hi. Is there a way to make the application or vi's window become focus after being buried under stack of different applications? I know we make window focus&nbsp;by programmatically or events. I noticed that it can work only if the window is under stack of the same kind ie, Labview. But it cannot work under stack of different programs ie Labview application or Vis under MS office, notepad or else. &nbsp; How do we solve the problem? &nbsp; regards, Clement Yes, But not focus continously, Whenever, the acquisition&nbsp;and test is finished or there's an IO event ie; cl...

How to tell an application to use a custom tcp/ip stack instead of tcp/ip stack from linux?
Hello Groups, I am a newbie to this groups and I am struggling with a problem and I need your help in this regard. I have lwip ( low weight ip) tcp/ip stack and tftp (client & server tftp-hpa-0.40) source .Both are compiling well on linux with out any problem. The tftp source is also working good when I installed it on my linux system (Redhat linux 9.0 , gcc 3.2.2) for getting and putting files. I need to get a tftp/udp/ip stack for an embedded system to upgrade the firmware of a chip. So the problem is I want to tell my tftp source I have with me to use lwip tcp/ip stack instead of...

Stack
Hi, Does the OS have separate stack area for itself(operating system) and separate stack area for the application ? Or Does the stack area of the application will be part of the stack(bigger stack) of the Operating System ? I do not find Clear information w.r.t this on the internet. Any ideas ? Can somone tell me w.r.t a specific OS & application ? Thx in advans, Karthik Balaguru On Wed, 24 Oct 2007 06:47:10 -0700, karthikbalaguru wrote: > Hi, > > Does the OS have separate stack area for itself(operating system) and > separate stack area for the application ? > Or >...

stack trace in c++ application
Hello, Is there a way to print stack trace in a c++ application? I would like to do this before asserting in a situation that can't be handled. Thanks, -Ashish Ashish wrote: > Is there a way to print stack trace in a c++ application? Not unless you write it yourself. There are no means in the language to do "stack trace". > I would like to do this before asserting in a situation that can't be handled. You should explore the means available to you in the OS and the compiler you're using. Ask in their respective newsgroups. V Ashish wrote: > > Hell...

Looking for USB stack for embedded application
I am looking for an USB stack suitable for embedded applications. I would rather not run Linux since it is not crash proof. Does someone know about such a piece of software. I would prefer a free stack if that is possible. I have searched Google and cannot find anything. Please reply to this newsgroup. thank you In article <41407c48_3@newsfeed.slurp.net>, F;,VN[OWIR <postmaster@localhost> wrote: >I am looking for an USB stack suitable for embedded applications. I would >rather not run Linux since it is not crash proof. Does someone know about >such a piece of software....

malfunctioning applications under limited stack size
Recently, I observed several applications to malfunction when stack size is limited to anything fewer then exactly 2 GB, i.e., 2147483648 Byte. The limit is set via the 'softlimit' program[1] using '-s'. This essentially means that 'setrlimit' is called with 'RLIMIT_STACK'. System is Linux 2.6.27.21, Glibc 2.9, GCC 4.1, built from scratch roughly following the "Hardened Linux from Scratch" project. I've been using such a system for more than a year before without any problems (with older Linux and Glibc version in the beginning). I also ne...

Getting a stack trace from a running application
Dear fellow dinosaurs, Some customers are complaining that my VB6 app raises a GPF on exiting. Unfortunately, the only infromation they can provide is a memory address, which is pretty useless as it doesn't tell me if my main exe is the culprit or if it's some dll or ocx or whatever. I managed to catch that and other exceptions using SetUnhandledExceptionFilter() (see http://urlmini.us?i=1099) , but I still have no idea where the exception is comming from. Is there a way to get a stack trace up to the offending function and module? Even better, is there any pre-built solutio...

generating stack dump in C++ application??
I want to generate a stack dump in a C++ program, when it gets a SIGSEGV or GPF. I tried searching the archives for this newsgroup, and found a couple of suggestions, but none of them return useful results in my application!! ========================================================================== The Unix Programming FAQ (which hasn't been updated since 2000), recommended: sprintf(s, "/bin/echo 'where\ndetach' | gdb /home/m7000/m7600/m7k %d", getpid()); When I run this in my signal handler, though, and force a fault by writing to a NULL point...

How to get stack trace within application
I'm trying to work out how to get my applications stack trace from within that application, it is a c++ windows console app. I have found an example on MSDN that talks about using toolhelp library. This talks about it being windows 3.0/3.1 so is very old and I can't find it anywhere. Also there is a class in .NET that allows you to do this but I am not using .NET How can I get the stack trace from within my application? Any help much appreciated. Thanks, Will Wagner Will Wagner <willw@carallon.com> wrote: >How can I get the stack trace from within my app...

How can an application tie up all stack services?
I have a locally developed application (multi-threaded, managed, about 15 socket connections). Somehow, during the course of the execution, I start to get weird socket error messages. I can't seem to open or close any socket connection, and neither can other applications! If I run "ping", it times out! If I kill my application, then everything is back to normal again. It's as if my application has hung up the entire TCP/IP stack!!! It's as if there's a bug in the stack? I have no clue on how to even debug this problem. Any insight would be appreciated...

Looking for TCP stack that runs in application space
The company I work for is looking for a TCP stack that runs in application space. It should have O/S & device independed APIs for interfacing w/ the application layer, O/S services & the NIC. An additional API allowing us to monitor statistics &/or modify behavior (MSS, etc) would also be great. The idea is to have something we can tweak for various kinds of testing of network products. We're prepared to port one to application space ourselves, but would prefer to take advantage of something that already exists. Something open source would be best, but a product we'd h...

Applications of stacks/queues/trees/heap/BST
Hi there, I'm not sure if this is the right group for this- If it isn't, could anyone point me in the right direction? For our data structures exam, we are usually asked to implement the structures we've studied (ofcourse in c++). For e.g. implementations of a stack could be paranthesis matching/evaluating polish notation etc. Can anyone suggest implementations/usage of the above mentioned data structures? Look at this link for a binary tree http://cslibrary.stanford.edu/ Maybe in STL for stacks and queues... But get a good book ... It is worth it... "Ice" <amm...

Integrating SIP stack into J2EE application server
I would like to add SIP stack to J2EE application server. I know that JCA 1.5 allows doing such thing. But JCA 1.5 is part of J2EE 1.4. Currently the most J2EE vendors support J2EE 1.3. Can anybody share experience of integrating a new protocol stack into any J2EE application server? Al wrote: > > I would like to add SIP stack to J2EE application server. I know that JCA > 1.5 allows doing such thing. But JCA 1.5 is part of J2EE 1.4. Currently the > most J2EE vendors support J2EE 1.3. Can anybody share experience of > integrating a new protocol stack > into any J2EE appl...

How to use external ram on MPC555 for the stack application
Dear users, I am struggling to setup my MPC555 phytec board correctly. I am working with Embedded Target for MPC5xx 2.1 (or also Target Support Package&#8482; FM5). I need important memory for the stack application and would like to use the external ram of the micro. In fact I would like to set up also the .data, ..sdata, .sbss, ... and the stack in the external ram. I checked the following solution but did not help as this is a rather old version : http://www.mathworks.com/support/solutions/data/1-1BZ4V.html?solution=1-1BZ4V IF any of you has experience on this topic, I will...

PROBLEMS COMPILING DPMI APPLICATION
This is a multi-part message in MIME format. ------=_NextPart_000_005A_01CA2640.1D94BD90 Content-Type: multipart/alternative; boundary="----=_NextPart_001_005B_01CA2640.1D94BD90" ------=_NextPart_001_005B_01CA2640.1D94BD90 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable I have a very large application which uses DPMI and I can't get it to = compile with DJGPP - I always get "undefined reference" fatal errors. = "__dpmi_int" is always identified as such a reference although I am = including the correct ...

Stack/Memory Corruption Problem in C++/Fortran Application
Hello Folks, I am facing problem in a Porting project(HP-Unix->Windows XP(64 bit)) where there are lots of C++->Fortran and Fortran->C++ calls. There are some thousands of files including FORTRAN and C++ code. After performing few operation which involves lot of FORTRAN->C++ and C ++->FORTRAN calling, application gives stack overflow error or behaves unexpectedly. one more thing which i have noticed is, whenever i am making a call to a FORTRAN function there is a increase in application memory by 4Bytes. compiler c++ : MS Visual Studio 2005 / Compiling for 64 bit compiler ...

Application with API TCPIPv6 on PC (W2K) with stack TCPIPv4
I will update a soft to run it on IPv6. Did someone know if this new application (using API V6) will run on a machine on W2K with a stack IPv4 (and not IPv6). Thanks you for any help. ...

Mac OSX application, libMallocDebug and running out of stack space!!!
I have been debugging a rather large c++ application (executable about 85 mb). MallocDebug starts reporting problems with a "frame pointer" that seems to be outside the stack.. It seems that the stack cannot expand further.. But overwriting malloc_printf and adding a getrlimit(..) told me that current stack was about 8mb and hard limit was about 64 mb.. In the particular function, was an allocation of a char array of 64kb. I made that one static, guessing it had to be some stack problem... But that just moved the problem somewhere else... Like in new [] from std::string or w...