lkml.org 
[lkml]   [1998]   [Aug]   [11]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: BUILD_SMP_TIMER_INTERRUPT not needed movl
On Tue, 11 Aug 1998, Gabriel Paubert wrote:

>
>
> On Tue, 11 Aug 1998, Richard B. Johnson wrote:
>
> > The first reference I find to a difference (for stack operation) was with
> > the i486 p.p. 22-5, Intel486 Programmer's Reference Manual.
> >
>
> >From the latest and greatest (well quite recent anyway) Intel architecture
> doc (24319201.pdf, you've just got to love Intel's poetic names), section
> 17.10.1 which is dedicated to the behaviour of the `push sp' instruction:
>

If the IBM part number for the first hard disk drive was "45" instead
of "3030", we'd have "Colts" instead of "Winchesters".


> `The P6 family, Pentium, Intel486, Intel386, and Intel 286 processors push
> a different value on the stack for a PUSH SP instruction than the 8086
> processor. The 32-bit processors push the value of the SP register before
> it is decremented as part of the push operation; the 8086 processor pushes
> the value of the SP register after it is decremented.'
>

You are probably quite right, but I think the documentation was written
quite a bit after the fact. In the "Olden" days I once wrote something
that "had to know" what the SP was. I think I used it to determine
how many parameters were pushed to an assembly-language function that
had a variable parameter list. As I recall, I used a debugger to get
everything to work out right because the "new" '286 documentation
didn't tell...

> They qualify the 286 as a 32-bit processor (!) but I quite clearly
> remember that `push sp' behaviour was a test to check whether you had a
> 8088/8086 or 286 when the AT came out.

The Intel way was to try to set all bits in the flag register.
If 12-15 are set, it's a 86/88. If all clear, it's a '286.
If not, play with eflags (full length), and see if some other
bit is fixed ('386), etc., etc...


Cheers,
Dick Johnson
***** FILE SYSTEM WAS MODIFIED *****
Penguin : Linux version 2.1.115 on an i586 machine (66.15 BogoMips).
Warning : It's hard to remain at the trailing edge of technology.

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.altern.org/andrebalsa/doc/lkml-faq.html

\
 
 \ /
  Last update: 2005-03-22 13:43    [from the cache]
©2003-2011 Jasper Spaans