flat assembler
Message board for the users of flat assembler.

Index > OS Construction > Testing E820 ACPI 3.0 compatibility

Author
Thread Post new topic Reply to topic
smiddy



Joined: 31 Oct 2004
Posts: 557
smiddy 21 Nov 2006, 11:55
Hello,

You may or may not know that the latest ACPI specification defines INT 15h AX=E820h with extended attributes. I've yet to encounter such a machine. I am posting my code in hopes that someone here may have a machine that does. Please read the source files for instructions on usage. When you post your results please use this format:

MB Make, Model, and CPU: MSI 7A266 Athlon 3000+
BIOS make and date: AMI 7/01/2003


Description:
Download
Filename: E820.zip
Filesize: 12 KB
Downloaded: 606 Time(s)

Post 21 Nov 2006, 11:55
View user's profile Send private message Reply with quote
LocoDelAssembly
Your code has a bug


Joined: 06 May 2005
Posts: 4624
Location: Argentina
LocoDelAssembly 21 Nov 2006, 13:56
Motherboard: MSI K8N SLI Platinum (MS-7100); 09/09/2005-MS-7100-6A61FM4BC-00
CPU: AMD Athlon64 3200+ (S939)
BIOS: Phoenix - AwardBIOS v6.00PG; W7100NMS V3.7 090905 09:59:32

Code:
E820 - 1.00.1 Attempt to see E820 information... -smiddy

E820: 
hSz    Base Address   -  Memory Length    -    Memory Type     - ExtAttr
14 : 0000000000000000 - 000000000009F800h -  Available to OS    
14 : 00000000000F0000 - 0000000000010000h -  Reserved Memory    
14 : 00000000FEC00000 - 0000000001400000h -  Reserved Memory    
14 : 00000000E0000000 - 0000000010000000h -  Reserved Memory    
14 : 000000003FFF3000 - 000000000000D000h -  ACPI Reclaim Memory
14 : 000000003FFF0000 - 0000000000003000h -  ACPI NVS Memory    
14 : 000000000009F800 - 0000000000000800h -  Reserved Memory    
14 : 0000000000100000 - 000000003FEF0000h -  Available to OS    
-------------------------------------------------------------------------------
   : Total Memory     :         3FF8F800h -  1,073,281,024 bytes.
-------------------------------------------------------------------------------
    

Tested under a DOS 6.21
Post 21 Nov 2006, 13:56
View user's profile Send private message Reply with quote
smiddy



Joined: 31 Oct 2004
Posts: 557
smiddy 21 Nov 2006, 18:51
Thanks LocoDelAssembly! It is interesting that your machine being as new as it is doesn't support the extended attributes.

It looks like you EBDA is bigger than mine too.

WOW, and some of the records are out of sequence, perhaps I need to put a sorting algorithm in there, eh?
Post 21 Nov 2006, 18:51
View user's profile Send private message Reply with quote
arafel



Joined: 29 Aug 2006
Posts: 131
Location: Jerusalem, Israel
arafel 21 Nov 2006, 18:56
ASUSTek TUV4X, PIII EB 933MHz
Award 07/04/2002
Code:
E820 - 1.00.1 Attempt to see E820 information... -smiddy

E820: 
hSz    Base Address   -  Memory Length    -    Memory Type     - ExtAttr
14 : 0000000000000000 - 000000000009FC00h -  Available to OS    
14 : 000000000009FC00 - 0000000000000400h -  Reserved Memory    
14 : 00000000000F0000 - 0000000000010000h -  Reserved Memory    
14 : 0000000000100000 - 000000003FEEC000h -  Available to OS    
14 : 000000003FFEC000 - 0000000000003000h -  ACPI Reclaim Memory
14 : 000000003FFEF000 - 0000000000010000h -  Reserved Memory    
14 : 000000003FFFF000 - 0000000000001000h -  ACPI NVS Memory    
14 : 00000000FFFF0000 - 0000000000010000h -  Reserved Memory    
-------------------------------------------------------------------------------
   : Total Memory     :         3FF8BC00h -  1,073,265,664 bytes.
-------------------------------------------------------------------------------    

ASRock 775Dual-880Pro, P4 531 3.0GHz
AMI 06/16/2006
Code:
E820 - 1.00.1 Attempt to see E820 information... -smiddy

E820: 
hSz    Base Address   -  Memory Length    -    Memory Type     - ExtAttr
14 : 0000000000000000 - 000000000009FC00h -  Available to OS    
14 : 000000000009FC00 - 0000000000000400h -  Reserved Memory    
14 : 00000000000E6000 - 000000000001A000h -  Reserved Memory    
14 : 0000000000100000 - 000000003FEB0000h -  Available to OS    
14 : 000000003FFB0000 - 0000000000010000h -  ACPI Reclaim Memory
14 : 000000003FFC0000 - 0000000000030000h -  ACPI NVS Memory    
14 : 000000003FFF0000 - 0000000000010000h -  Reserved Memory    
14 : 00000000FEE00000 - 0000000000001000h -  Reserved Memory    
14 : 00000000FF780000 - 0000000000880000h -  Reserved Memory    
-------------------------------------------------------------------------------
   : Total Memory     :         3FF4FC00h -  1,073,019,904 bytes.
-------------------------------------------------------------------------------    
Post 21 Nov 2006, 18:56
View user's profile Send private message Reply with quote
LocoDelAssembly
Your code has a bug


Joined: 06 May 2005
Posts: 4624
Location: Argentina
LocoDelAssembly 21 Nov 2006, 19:07
Quote:
WOW, and some of the records are out of sequence, perhaps I need to put a sorting algorithm in there, eh?


Hey you're right, mmmm, then if I continue with http://board.flatassembler.net/topic.php?p=43144#43144 some day now I know that I don't need to insert the records in sequence which certanly it's a much easy task Very Happy
Post 21 Nov 2006, 19:07
View user's profile Send private message Reply with quote
smiddy



Joined: 31 Oct 2004
Posts: 557
smiddy 21 Nov 2006, 19:08
Thanks arafel! Your AMI BIOS is very surprising too.
Post 21 Nov 2006, 19:08
View user's profile Send private message Reply with quote
smiddy



Joined: 31 Oct 2004
Posts: 557
smiddy 21 Nov 2006, 19:51
LocoDelAssembly wrote:
Quote:
WOW, and some of the records are out of sequence, perhaps I need to put a sorting algorithm in there, eh?


Hey you're right, mmmm, then if I continue with http://board.flatassembler.net/topic.php?p=43144#43144 some day now I know that I don't need to insert the records in sequence which certanly it's a much easy task Very Happy


I breifly read through the thread and that is interesting information. Thanks! I must have been elsewhere when that was posted. I suspect that the earlier version are using a combination of ways to determine RAM, like a probe or something else. Where XP is exclusively using E820. Interesting!

I have developed a memory determination routine for my own OS that uses CMOS, INT 12h, INT 15h AX=E820, AX=E801, and AH=88, SMBIOS, PnP, and Probing. Both PnP and E820 return a map of sorts and should be compatible, but most times they are not. Oddly too, PnP results work under V86 mode so you can find out what RAM is there via a dos box in windows (at least in XP).
Post 21 Nov 2006, 19:51
View user's profile Send private message Reply with quote
LocoDelAssembly
Your code has a bug


Joined: 06 May 2005
Posts: 4624
Location: Argentina
LocoDelAssembly 21 Nov 2006, 20:26
Thanks for the tip, I'll try this weekend to make some time to work on this.
Post 21 Nov 2006, 20:26
View user's profile Send private message Reply with quote
f0dder



Joined: 19 Feb 2004
Posts: 3175
Location: Denmark
f0dder 22 Nov 2006, 00:30
ASUS A8N SLI Premium ACPI BIOS Revision 1009
10/21/2005-NF-CK804-A8NSLI-P-00
AMD64x2 4400+, 2048MB DDR400 RAM, 4x512MB blocks

Code:
E820 - 1.00.1 Attempt to see E820 information... -smiddy

E820: 
hSz    Base Address   -  Memory Length    -    Memory Type     - ExtAttr
14 : 0000000000000000 - 000000000009D000h -  Available to OS    
14 : 00000000000F0000 - 0000000000010000h -  Reserved Memory    
14 : 00000000FEC00000 - 0000000001400000h -  Reserved Memory    
14 : 00000000E0000000 - 0000000010000000h -  Reserved Memory    
14 : 000000007FFF3000 - 000000000000D000h -  ACPI Reclaim Memory
14 : 000000007FFF0000 - 0000000000003000h -  ACPI NVS Memory    
14 : 000000000009D000 - 0000000000003000h -  Reserved Memory    
14 : 0000000000100000 - 000000007FEF0000h -  Available to OS    
-------------------------------------------------------------------------------
   : Total Memory     :         7FF8D000h -  2,147,012,608 bytes.
-------------------------------------------------------------------------------
    
Post 22 Nov 2006, 00:30
View user's profile Send private message Visit poster's website Reply with quote
smiddy



Joined: 31 Oct 2004
Posts: 557
smiddy 22 Nov 2006, 02:39
LocoDelAssembly wrote:
Thanks for the tip, I'll try this weekend to make some time to work on this.


When I get the chance I'll PM you the PnP source I have, which should provide a decent starting point.
Post 22 Nov 2006, 02:39
View user's profile Send private message Reply with quote
smiddy



Joined: 31 Oct 2004
Posts: 557
smiddy 22 Nov 2006, 02:43
f0dder, excellent post. I am bemiffed by the randomness of the output. I have expected BIOS' with your date to be capable of 18h bytes too, but there ya go!
Post 22 Nov 2006, 02:43
View user's profile Send private message Reply with quote
f0dder



Joined: 19 Feb 2004
Posts: 3175
Location: Denmark
f0dder 22 Nov 2006, 15:04
Well, I guess "reserved memory" depends on your chipset - memory mapped devices and such? Weird that these don't get mapped higher, though.
Post 22 Nov 2006, 15:04
View user's profile Send private message Visit poster's website Reply with quote
vid
Verbosity in development


Joined: 05 Sep 2003
Posts: 7105
Location: Slovakia
vid 22 Nov 2006, 15:44
should this work under windoze, or just pure DOS?
Post 22 Nov 2006, 15:44
View user's profile Send private message Visit poster's website AIM Address MSN Messenger ICQ Number Reply with quote
f0dder



Joined: 19 Feb 2004
Posts: 3175
Location: Denmark
f0dder 22 Nov 2006, 15:53
Pure DOS, the E820 stuff isn't emulated by NTVDM.
Post 22 Nov 2006, 15:53
View user's profile Send private message Visit poster's website Reply with quote
smiddy



Joined: 31 Oct 2004
Posts: 557
smiddy 22 Nov 2006, 16:38
f0dder wrote:
Well, I guess "reserved memory" depends on your chipset - memory mapped devices and such? Weird that these don't get mapped higher, though.


I think part of the lower memory stuff is due to compatibility with older software.
Post 22 Nov 2006, 16:38
View user's profile Send private message Reply with quote
smiddy



Joined: 31 Oct 2004
Posts: 557
smiddy 22 Nov 2006, 16:42
vid wrote:
should this work under windoze, or just pure DOS?


f0dder wrote:
Pure DOS, the E820 stuff isn't emulated by NTVDM.


Yep, pure DOS, or boot it from a floppy. One person I think is trying it from a USB drive.

Perhas I should include the code for Plug & Play interface so there is a comparison. Also Plug & Play interface is compatible with the Dos Box within Windows (at least in XP).
Post 22 Nov 2006, 16:42
View user's profile Send private message Reply with quote
Display posts from previous:
Post new topic Reply to topic

Jump to:  


< Last Thread | Next Thread >
Forum Rules:
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum


Copyright © 1999-2024, Tomasz Grysztar. Also on GitHub, YouTube.

Website powered by rwasa.