flat assembler
Message board for the users of flat assembler.
Index
> Main > accessing bios memory Goto page 1, 2 Next |
Author |
|
f0dder 02 Aug 2010, 15:07
Could it be that the BIOS is compressed?
|
|||
02 Aug 2010, 15:07 |
|
vid 02 Aug 2010, 19:18
are you sure /device/physicalmemory maps ROM? For example linux's memory device doesn't.
At what physical address are you looking for BIOS code? |
|||
02 Aug 2010, 19:18 |
|
b1528932 03 Aug 2010, 00:09
vid wrote: are you sure /device/physicalmemory maps ROM? For example linux's memory device doesn't. i have dumped all memory. perhaps memory containing it was swapped out, but somehow i dont think so. bios should be in lowest 1mb of memory, so real mode programs could access it. something is there, but not all. my question is if bios code reside in normal address space, or somewere else and what i see on screen is just dma. |
|||
03 Aug 2010, 00:09 |
|
Feryno 03 Aug 2010, 05:51
bios typically holds more packed modules (setup, ACPI tables, RAID, LAN diagnostic ...)
if you press the setup key during boot, then module for bios setup is unpacked and executed extract the binary of bios from eeprom or download the bios file from intrernet and unpack what do you need - look for tools for extracting modules and unpacking them usually most of bios parts are compressed and only small part of bios isn't strings you are looking for seem to be part of bios setup so you can't find them in RAM (they are in memory only during executing bios setup) newer systems use UEFI instead of BIOS |
|||
03 Aug 2010, 05:51 |
|
b1528932 03 Aug 2010, 09:00
Feryno wrote: bios typically holds more packed modules (setup, ACPI tables, RAID, LAN diagnostic ...) you are still not answering my question. you go to details, when i need basics. my question was is the bios code mapped into physical address space? and if it is not, how can i access it, if i can. |
|||
03 Aug 2010, 09:00 |
|
sinsi 03 Aug 2010, 09:15
Feryno answered you.
>is the bios code mapped into physical address space All of it is when you use the BIOS setup, then most of it is unmapped (being useless for normal use), leaving the usual 64/128KB. >and if it is not, how can i access it, if i can. Get the BIOS update from the board maker which contains the whole 256/512KB ROM. How many accounts are you going to make here, once you start saying "answer my question" we know who you are |
|||
03 Aug 2010, 09:15 |
|
vid 03 Aug 2010, 09:17
b1528932 wrote: i have dumped all memory. Are you sure "all memory" mapped by "/Device/PhysicalMemory" includes ROM modules? Quote: bios should be in lowest 1mb of memory, so real mode programs could access it. Nay. ROM BIOS code is mapped at top of physical address space (eg. FFF00000-FFFFFFFF with 1MB ROM on 32-bit machine). Parts of BIOS ROM code are copied to lower 1 MB during boot, but not all of BIOS code, and not all of this code survives until boot time. IIRC someone at this forum advised me to use this utility to grab BIOS code, and it worked. Last edited by vid on 03 Aug 2010, 09:21; edited 1 time in total |
|||
03 Aug 2010, 09:17 |
|
revolution 03 Aug 2010, 09:19
b1528932 wrote: you are still not answering my question. you go to details, when i need basics. b1528932 wrote: my question was is the bios code mapped into physical address space? b1528932 wrote: and if it is not, how can i access it, if i can. |
|||
03 Aug 2010, 09:19 |
|
vid 03 Aug 2010, 09:19
Quote: Get the BIOS update from the board maker which contains the whole 256/512KB ROM. For example with my Intel UEFI board, the BIOS update image was in a custom (packed?) format and I failed to extract it. |
|||
03 Aug 2010, 09:19 |
|
revolution 03 Aug 2010, 09:23
sinsi wrote: How many accounts are you going to make here, once you start saying "answer my question" we know who you are |
|||
03 Aug 2010, 09:23 |
|
sinsi 03 Aug 2010, 09:41
>I know who you are thinking of, but this is not the same person. Just another of similar personality and traits.
Ah, a family member then... |
|||
03 Aug 2010, 09:41 |
|
b1528932 03 Aug 2010, 11:44
Quote: Answer: Yes. Of course. Else your computer will never boot. yes thank you. this answers my question. now i can start searching for it when i know where it is. why you think pc woulnt boot if bios wouldnt be mapped into physical memory? just it wouldnt be executed by cpu, just in/out instruction that would turn off cpu and start executing on other chip on mobo, wich would have access to video card via dma, and its own memory, and ofc CMOS to get config. |
|||
03 Aug 2010, 11:44 |
|
DJ Mauretto 03 Aug 2010, 11:49
Quote: my question was is the bios code mapped into physical address space? I answered already in the heap forums, each FWH (Firmware Hub flash ROM or EEPROM) behaves differently, you need the datasheet of your chip. This is an example for the popular Intel 82802 FWH: Code: MOV ESI,0FFFF0000H ; Intel Firmware Hubs Address MOV AL,-1 ; AL = Command - Reset/Read Array MOV [ESI],AL After you have initialized the chip with this code you can access individual memory banks (64Kb) providing the address and read the contents, but this is only for Intel 82802. Note that you must check first if the banks are blocked read or write Example: Code: MOV ESI,0FFBF0002H ; Top Block Lock Register MOV AL,[ESI] TEST AL,100B ; Read Lock ? JNZ @Locked Have Fun With Bios.... I wrote a tool to erase Bios on many chip if you want try let me know _________________ Nil Volentibus Arduum |
|||
03 Aug 2010, 11:49 |
|
vid 03 Aug 2010, 12:23
b1528932 wrote:
I already told you where it is. Quote: why you think pc woulnt boot if bios wouldnt be mapped into physical memory? What code would be executed then? Quote: just it wouldnt be executed by cpu, just in/out instruction that would turn off cpu and start executing on other chip on mobo, wich would have access to video card via dma, and its own memory, and ofc CMOS to get config. 1. Where would the processor fetch that in/out instruction from? 2. What would be purpose of all this? |
|||
03 Aug 2010, 12:23 |
|
Alphonso 04 Aug 2010, 15:06
b1528932 wrote: ive tried finding strings from my bios vid wrote: For example with my Intel UEFI board, the BIOS update image was in a custom (packed?) format and I failed to extract it. DJ Mauretto wrote: I wrote a tool to erase Bios on many chip if you want try let me know |
|||
04 Aug 2010, 15:06 |
|
vid 04 Aug 2010, 15:10
Quote: I remember you working on EFI code, shame you never got to the bottom of it. It would have been interesting to see what you made of it. I pretty much got over PEI (Pre-EFI Initialization) phase, wrote some helper tools to extract PEI modules and some heuristics helping a good deal in disasming them, and that's where I stopped. |
|||
04 Aug 2010, 15:10 |
|
Alphonso 09 Aug 2010, 15:21
That's cool. Must be awkward though with so much of the BIOS shrouded in secrecy. Not sure why there seems to be so much information that needs to be under NDA such as the BIOS writers guide and then there's probably some more that doesn't come under that either.
Haven't played with the BIOS for a while but have thought it might be cool to write some BIOS code. Nothing too extravagant, simple initializing and debug output maybe. At least I'd get a look at the CPU initial state. Shame my laptop doesn't have a serial port. Do you think this would be fairly easy? Would you have any recommendation for a suitable emulator for BIOS code? Was hoping DJ would post that BIOS eraser code. If chip erase function can be sent then hopefully the other functions should work too such as sector read/erase/write which could be handy. |
|||
09 Aug 2010, 15:21 |
|
DJ Mauretto 09 Aug 2010, 16:14
Quote: Was hoping DJ would post that BIOS eraser code. If chip erase function can be sent then hopefully the other functions should work too such as sector read/erase/write which could be handy. Note that first you have to know what kind of chip you have installed on your motherboard, then check the datasheet, but usually the various BIOS is protected, you need to go deeper and understand the operation of computers. Usually the BIOS protection is reduced to 2 bits that you can find in GPIO (General Purpose IN / OUT). Unfortunately there are stupid people who write viruses and I do not put malicious code on line .... Have fun _________________ Nil Volentibus Arduum |
|||
09 Aug 2010, 16:14 |
|
Alphonso 09 Aug 2010, 16:29
Fair enough DJ.
I know the SPI chip and can program it externally but it seems to go through the EC rather than directly to the SB. |
|||
09 Aug 2010, 16:29 |
|
Goto page 1, 2 Next < Last Thread | Next Thread > |
Forum Rules:
|
Copyright © 1999-2025, Tomasz Grysztar. Also on GitHub, YouTube.
Website powered by rwasa.