1 |
Volker Armin Hemmann <volker.armin.hemmann@××××××××××××.de> posted |
2 |
200710181500.24885.volker.armin.hemmann@××××××××××××.de, excerpted below, |
3 |
on Thu, 18 Oct 2007 15:00:24 +0200: |
4 |
|
5 |
> On Donnerstag, 18. Oktober 2007, Evert wrote: |
6 |
> |
7 |
>> I read their text again and noticed: 'OS will allocate 3~4GB memory |
8 |
>> address for onboard device'. |
9 |
>> Wouldn't that mean it's simply a (kernel)configuration issue...? |
10 |
> |
11 |
> no, it is a 'stupid bios' issue. The bios could put the pci/other device |
12 |
> memory space somewhere in the high terrabyte area, but instead it |
13 |
> chooses to put it at the end of the 4gb range, because of historical |
14 |
> reasons. |
15 |
|
16 |
This is correct. Here's a bit more detail. |
17 |
|
18 |
Many legacy PCI devices (and possibly some PCI-E devices, I don't know as |
19 |
my board is PCI-X, not yet PCI-E) and/or their drivers (mainly a problem |
20 |
with closed source drivers if the device and board handles 64-bit, AFAIK) |
21 |
are designed to run in a 32-bit address space only. As such, PCI device |
22 |
address space is normally located at the top of the 32-bit addressable |
23 |
memory area -- 3.5 to 4 GB. Naturally, if devices are using that address |
24 |
space, it's not available to be used by memory, so there's a "memory |
25 |
hole" at that location -- about a half GB just below the 4 GB boundary, |
26 |
thus under /normal/ circumstances, limiting actual usable/addressable |
27 |
memory to ~3.5 GB if one has 4 GB memory, or ~half a GB less than total |
28 |
memory if one has > 4 GB. |
29 |
|
30 |
There is, however, a BIOS workaround, depending on whether the mobo and |
31 |
BIOS installed support it or not. Basically what it does is move the |
32 |
memory otherwise covered by the "hole" up beyond 4 GB, so with 4 GB |
33 |
memory, you'll actually have usable memory addresses running to ~4.5 GB. |
34 |
(Or, some implementations move the entire GB, or even two gigs, so you |
35 |
may see addresses to 5 or even 6 gigs, but only have 4 gigs memory. Mine |
36 |
seems to move 2 gigs, so my 8 gigs memory appears as 10 gigs at POST.) |
37 |
|
38 |
If the BIOS supports this memory address move, you'll see one or two |
39 |
different options therein. Since I'm booted ATM I don't have immediate |
40 |
access to my BIOS to check and I don't remember exactly what they are, |
41 |
but I have two separate options here. IIRC one of them is something like |
42 |
"contiguous memory" vs. something else. The other one I don't remember |
43 |
at all ATM, only that I had it. I never was entirely clear at what the |
44 |
specific interaction between them was, but one definitely has to be set |
45 |
correctly to get the addressing working right, while the other... I'm not |
46 |
sure about. I just played with it and a kernel option or two until I got |
47 |
it working. |
48 |
|
49 |
However, the first thing is that your BIOS supports it at all. If it |
50 |
doesn't, you're simply SOL, unless you are lucky and they have a BIOS |
51 |
update adding the feature. Unfortunately, given the reply from the |
52 |
board's support people as you quoted, specifically that they didn't |
53 |
mention any such feature at all, it would appear their BIOS doesn't |
54 |
support it, and you are stuck with 3.5 GB. Of course, if they don't |
55 |
support Linux, they may not have known that it can take advantage of such |
56 |
an option given the chance, and may have given you the standard MSWormOS |
57 |
(or whatever) support answer, and their BIOS actually /does/ have the |
58 |
option. |
59 |
|
60 |
Note that I've read of advanced users flashing a BIOS with the features |
61 |
they want but designed for another board using the same base chipset. Of |
62 |
course, that's going to void your warrantee and could well end up |
63 |
bricking your board, but it's an option if you want to risk it. It's |
64 |
also possible to replace the BIOS chip itself, and to buy BIOS chips pre- |
65 |
flashed with various BIOS images, so if you decided to go that route, you |
66 |
could buy one flashed with some BIOS with that feature and see if it |
67 |
worked, without risking overwriting the supported BIOS on your current |
68 |
chip. Of course, that's well beyond anything I've tried, and in the |
69 |
general case, if you were advanced enough to work with that sort of |
70 |
thing, you'd probably know all this including the above about the PCI |
71 |
device memory hole already, so it's well beyond anything I'd recommend. |
72 |
However, the option is there if you are suitably determined, and have |
73 |
access to the appropriate resources (a friend that has the tools and |
74 |
knows what they are doing, or funds to purchase the service commercially, |
75 |
or such that the risk of bricking isn't a major worry). |
76 |
|
77 |
If you'd like the specific BIOS settings, I can reboot and look them up, |
78 |
but I'm not going to bother unless given the above, you think you might |
79 |
have the options, need to know more, and specifically request that info. |
80 |
|
81 |
-- |
82 |
Duncan - List replies preferred. No HTML msgs. |
83 |
"Every nonfree program has a lord, a master -- |
84 |
and if you use the program, he is your master." Richard Stallman |
85 |
|
86 |
-- |
87 |
gentoo-amd64@g.o mailing list |