#26: flashrom: Support for PIIX4/PIIX4E/PIIX4M ----------------------------+----------------------------------------------- Reporter: uwe | Owner: somebody Type: enhancement | Status: new Priority: major | Milestone: Component: flashrom | Version: v2 Keywords: | Include_gantt: 0 Dependencies: | Due_assign: MM/DD/YYYY Due_close: MM/DD/YYYY | ----------------------------+----------------------------------------------- Add support for Intel PIIX4/PIIX4E/PIIX4M based mainboards to flashrom. Tested on real hardware, reading, detecting and writing various chips works.
Signed-off-by: Uwe Hermann uwe@hermann-uwe.de
---
Just curious: in the datasheet I see three BIOS-related bits, "Lower BIOS Enable", "Extended BIOS Enable", and "1-Meg Extended BIOS Enable".
I only enabled the "Extended BIOS Enable" (FFF80000-FFFDFFFF); do I need to touch one of the others, too?
I don't work well with web applications but tried submitting a note via trac anyway, only to be rejected as potential spam, according to "Akismet". I would love some way to interact with trac that is not web based. Does anyone know?
On Sun, Nov 05, 2006 at 02:44:30AM -0000, LinuxBIOS wrote:
Just curious: in the datasheet I see three BIOS-related bits, "Lower BIOS Enable", "Extended BIOS Enable", and "1-Meg Extended BIOS Enable".
I only enabled the "Extended BIOS Enable" (FFF80000-FFFDFFFF); do I need to touch one of the others, too?
That enables top-512kb -> top-128k so I think you'll want to touch more bits. 1-Meg sounds good. What is Lower?
//Peter
I don't work well with web applications but tried submitting a note via trac anyway, only to be rejected as potential spam, according to "Akismet". I would love some way to interact with trac that is not web based. Does anyone know?
I don't know but I'd sure like it.
Just curious: in the datasheet I see three BIOS-related bits, "Lower BIOS Enable", "Extended BIOS Enable", and "1-Meg Extended BIOS Enable".
I only enabled the "Extended BIOS Enable" (FFF80000-FFFDFFFF); do I need to touch one of the others, too?
That enables top-512kb -> top-128k so I think you'll want to touch more bits. 1-Meg sounds good. What is Lower?
Sounds like the legacy BIOS range at e00000..fffff, aliased to fffe0000..ffffffff (or aliased the other way around, whatever).
One bit gives you access to 128kB ROM space, two gets you 512kB, all three makes 1MB. Enable all you need to map your flash but not more (as it eats address space and potentially even DRAM). In the flashrom tool you probably want to enable as large a window as possible of course.
Segher
* Peter Stuge stuge-linuxbios@cdy.org [061105 04:35]:
I don't work well with web applications but tried submitting a note via trac anyway, only to be rejected as potential spam, according to "Akismet". I would love some way to interact with trac that is not web based. Does anyone know?
it is possible to send emails to trac-at-linuxbios.org (lets hope spammers wont find out this way. I had to disable this feature in the old tracker due to massive amounts of spam)
Stefan
I don't work well with web applications but tried submitting a note via trac anyway, only to be rejected as potential spam, according to "Akismet". I would love some way to interact with trac that is not web based. Does anyone know?
it is possible to send emails to trac-at-linuxbios.org (lets hope spammers wont find out this way. I had to disable this feature in the old tracker due to massive amounts of spam)
Will it recognise a) what ticket I'm replying to and b) what comment I'm replying to? From the threading mail headers, preferably.
If both are true, we can probably make this work, there'll still be a load of "minor annoyances" but all those can be easily fixed.
Segher
#26: flashrom: Support for PIIX4/PIIX4E/PIIX4M -----------------------------+---------------------------------------------- Reporter: uwe | Owner: uwe Type: enhancement | Status: new Priority: major | Milestone: Component: flashrom | Version: v2 Resolution: | Keywords: Include_gantt: 0 | Dependencies: Due_assign: MM/DD/YYYY | Due_close: MM/DD/YYYY -----------------------------+---------------------------------------------- Changes (by stepan):
* owner: somebody => uwe
Comment:
It reads register 4e. Are you sure its not just the enable_flash_ich_4e() function that most other chipsets are using?
Please remember: when testing this you need to test from cold start because flashrom does not reset the registers to their original state.
Also, FFF80000-FFFDFFFF is not enough. You need to enable the range from FFFE0000-FFFFFFFF as well.
Ignore the "Lower BIOS Enable" stuff. This is only required for 16bit operating systems and a really ugly mess.
#26: flashrom: Support for PIIX4/PIIX4E/PIIX4M -----------------------------+---------------------------------------------- Reporter: uwe | Owner: uwe Type: enhancement | Status: new Priority: major | Milestone: Component: flashrom | Version: v2 Resolution: | Keywords: Include_gantt: 0 | Dependencies: Due_assign: MM/DD/YYYY | Due_close: MM/DD/YYYY -----------------------------+---------------------------------------------- Comment (by rsmith):
Replying to [comment:1 stepan]:
Also, FFF80000-FFFDFFFF is not enough. You need to enable the range from
FFFE0000-FFFFFFFF as well.
As pointed out you should just enable the full 1-Meg space. Several of those settings are jsut for the legacy alias into the lower 1 Meg of address space. Since we don't have that legacy baggage you can just eanble the entire upper 1 Meg (0xfff00000- 0xffffffff). And let flashrom mmap it.
#26: flashrom: Support for PIIX4/PIIX4E/PIIX4M -----------------------------+---------------------------------------------- Reporter: uwe | Owner: uwe Type: enhancement | Status: assigned Priority: major | Milestone: Component: flashrom | Version: v2 Resolution: | Keywords: Include_gantt: 0 | Dependencies: Due_assign: MM/DD/YYYY | Due_close: MM/DD/YYYY -----------------------------+---------------------------------------------- Changes (by uwe):
* status: new => assigned
Comment:
Replying to [comment:1 stepan]:
It reads register 4e. Are you sure its not just the
enable_flash_ich_4e() function that most other chipsets are using?
Yes. The 0x4e is the same, but on the PIIX4 it's called XBCS instead of BIOS_CNTL and the bits have completely different meanings.
Please remember: when testing this you need to test from cold start
because flashrom does not reset the registers to their original state.
Thanks, will redo some tests from cold start.
#26: flashrom: Support for PIIX4/PIIX4E/PIIX4M -----------------------------+---------------------------------------------- Reporter: uwe | Owner: uwe Type: enhancement | Status: assigned Priority: major | Milestone: Component: flashrom | Version: v2 Resolution: | Keywords: Include_gantt: 0 | Dependencies: Due_assign: MM/DD/YYYY | Due_close: MM/DD/YYYY -----------------------------+---------------------------------------------- Comment (by stepan):
Ah, sorry. I did not check the data sheet. Just 0x4e seemed so familiar. Then make sure all of FFF80000-FFFFFFFF or, if possible all of FFF00000-FFFFFFFF is enabled and submit the patch.
#26: flashrom: Support for PIIX4/PIIX4E/PIIX4M -----------------------------+---------------------------------------------- Reporter: uwe | Owner: uwe Type: enhancement | Status: assigned Priority: major | Milestone: Component: flashrom | Version: v2 Resolution: | Keywords: Include_gantt: 0 | Dependencies: Due_assign: MM/DD/YYYY | Due_close: MM/DD/YYYY -----------------------------+---------------------------------------------- Comment (by uwe):
Replying to [comment:2 rsmith]:
Replying to [comment:1 stepan]:
Also, FFF80000-FFFDFFFF is not enough. You need to enable the range
from FFFE0000-FFFFFFFF as well.
As pointed out you should just enable the full 1-Meg space. Several of
those settings are jsut for the legacy alias into the lower 1 Meg of address space. Since we don't have that legacy baggage you can just eanble the entire upper 1 Meg (0xfff00000- 0xffffffff). And let flashrom mmap it.
I have now enabled all three relevant bits, which should result in all of the upper meg (I hope). It's tested from cold boot, I can detect, read, and write multiple 256K chips. I'll attach an updated patch.
#26: flashrom: Support for PIIX4/PIIX4E/PIIX4M -----------------------------+---------------------------------------------- Reporter: uwe | Owner: uwe Type: enhancement | Status: assigned Priority: major | Milestone: Component: flashrom | Version: v2 Resolution: | Keywords: Include_gantt: 0 | Dependencies: Due_assign: MM/DD/YYYY | Due_close: MM/DD/YYYY -----------------------------+---------------------------------------------- Comment (by stepan):
Replying to [comment:5 uwe]:
I have now enabled all three relevant bits, which should result in all
of the upper meg (I hope). It's tested from cold boot, I can detect, read, and write multiple 256K chips. I'll attach an updated patch.
This looks very good to me.
Acked-By: Stefan Reinauer stepan@coresystems.de
#26: flashrom: Support for PIIX4/PIIX4E/PIIX4M -----------------------------+---------------------------------------------- Reporter: uwe | Owner: uwe Type: enhancement | Status: closed Priority: major | Milestone: Component: flashrom | Version: v2 Resolution: fixed | Keywords: Include_gantt: 0 | Dependencies: Due_assign: MM/DD/YYYY | Due_close: MM/DD/YYYY -----------------------------+---------------------------------------------- Changes (by uwe):
* status: assigned => closed * resolution: => fixed
Comment:
Fixed in [2489].
#26: flashrom: Support for PIIX4/PIIX4E/PIIX4M -----------------------------+---------------------------------------------- Reporter: uwe | Owner: uwe Type: enhancement | Status: closed Priority: major | Milestone: Enhance the flashrom utility Component: flashrom | Version: v2 Resolution: fixed | Keywords: Include_gantt: 0 | Dependencies: Due_assign: MM/DD/YYYY | Due_close: MM/DD/YYYY -----------------------------+---------------------------------------------- Changes (by uwe):
* milestone: => Enhance the flashrom utility
#26: flashrom: Support for PIIX4/PIIX4E/PIIX4M ---------------------------------+------------------------------------------ Reporter: uwe | Owner: uwe Type: enhancement | Status: reopened Priority: major | Milestone: Enhance the flashrom utility Component: flashrom | Version: v2 Resolution: | Keywords: Due_close: MM/DD/YYYY | Include_gantt: 0 Dependencies: | Due_assign: MM/DD/YYYY Patchstatus: patch needs work | ---------------------------------+------------------------------------------ Changes (by uwe):
* status: closed => reopened * patchstatus: => patch needs work * resolution: fixed =>
#26: flashrom: Support for PIIX4/PIIX4E/PIIX4M -----------------------------------------+---------------------------------- Reporter: uwe | Owner: uwe Type: enhancement | Status: closed Priority: major | Milestone: Enhance the flashrom utility Component: flashrom | Version: v2 Resolution: fixed | Keywords: Due_close: MM/DD/YYYY | Include_gantt: 0 Dependencies: | Due_assign: MM/DD/YYYY Patchstatus: patch has been committed | -----------------------------------------+---------------------------------- Changes (by uwe):
* status: reopened => closed * patchstatus: patch needs work => patch has been committed * resolution: => fixed
Comment:
Lets close this. Another patch which fixes some related issues is in #34 now.