- Partially decoded version of http://www.pastebin.com/m3d932f13
- I didn't create the dump, I only tried to decode it.
- atiflash -s 0 diamond.rom
- (save rom on card #0 to file=diamond.rom)
- val = either value returned, or provided (depending on read or write)
- len = size of value
- addr = pci address
- config* = is the pointer to the pci device's config space
- reg = region number
- Here is walks all PCI devices (lspci)
- First device.
- [VIK] pci_data_read: addr=0x80000000,config_addr=0x00000000,val=0x12378086,len=4 Read vendor+device ID to make sure we're not looking at garbage
- [VIK] pci_data_read: addr=0x80000000,config_addr=0x00000000,val=0x12378086,len=4 Read vendor+device ID to make sure we're not looking at garbage
- [VIK] pci_data_read: addr=0x8000000a,config_addr=0x0000000a,val=0x00000600,len=2 Get PCI class (0600 is Host bridge)
- [VIK] pci_data_read: addr=0x80000000,config_addr=0x00000000,val=0x00008086,len=2 Get vendor ID (8086 is Intel)
- Next device.
- [VIK] pci_data_read: addr=0x8000080a,config_addr=0x0000000a,val=0x00000601,len=2 Get PCI class (0601 is ISA bridge)
- [VIK] pci_data_read: addr=0x80000800,config_addr=0x00000000,val=0x00008086,len=2 Get vendor ID (8086 is Intel)
- Next device.
- [VIK] pci_data_read: addr=0x8000100a,config_addr=0x0000000a,val=0x00000300,len=2 Get PCI class (0300 is VGA controller)
- [VIK] pci_data_read: addr=0x80001000,config_addr=0x00000000,val=0x00001013,len=2 Get vendor ID (1013 is Cirrus Logic)
- Next device.
- [VIK] pci_data_read: addr=0x8000180a,config_addr=0x0000000a,val=0x00000200,len=2 Get PCI class (0200 is Ethernet controller)
- [VIK] pci_data_read: addr=0x80001800,config_addr=0x00000000,val=0x000010ec,len=2 Get vendor ID (10ec is Realtek)
- Next device.
- [VIK] pci_data_read: addr=0x8000200a,config_addr=0x0000000a,val=0x00000300,len=2 Get PCI class (0300 is VGA controller)
- [VIK] pci_data_read: addr=0x80002000,config_addr=0x00000000,val=0x00001002,len=2 Get vendor ID (1002 is ATI)
- [VIK] pci_data_read: addr=0x80002000,config_addr=0x00000000,val=0x00001002,len=2 Get vendor ID (1002 is ATI)
- [VIK] pci_data_read: addr=0x80002002,config_addr=0x00000002,val=0x00009440,len=2 Get device ID (9440 is RV770)
- [VIK] pci_data_read: addr=0x80002034,config_addr=0x00000034,val=0x00000040,len=1 Get capability pointer (points to 40)
- [VIK] pci_data_read: addr=0x80002040,config_addr=0x00000040,val=0x00000005,len=1 Get capability at 40 (05 is Message Signalled Interrupts)
- [VIK] pci_data_read: addr=0x80002041,config_addr=0x00000041,val=0x00000000,len=1 Get next capability pointer (00 means end of list)
- [VIK] pci_data_read: addr=0x80002034,config_addr=0x00000034,val=0x00000040,len=1 Get capability pointer (points to 40)
- [VIK] pci_data_read: addr=0x80002040,config_addr=0x00000040,val=0x00000005,len=1 Get capability at 40 (05 is Message Signalled Interrupts)
- [VIK] pci_data_read: addr=0x80002041,config_addr=0x00000041,val=0x00000000,len=1 Get next capability pointer (00 means end of list)
- [VIK] pci_data_read: addr=0x80002010,config_addr=0x00000010,val=0x90000008,len=4 Get first BAR (memory at 90000000, prefetch)
- [VIK] pci_data_read: addr=0x80002014,config_addr=0x00000014,val=0x00000000,len=4 Get second BAR (not present?)
- [VIK] pci_data_read: addr=0x80002018,config_addr=0x00000018,val=0xf2040000,len=4 Get third BAR (memory at f2040000)
- [VIK] pci_data_read: addr=0x80002004,config_addr=0x00000004,val=0x00000403,len=2 Get command reg
- [VIK] pci_data_write: addr=0x80002004,config_addr=0x00000004,val=0x00000403,len=2 Set command reg (unchanged)
- FIXME: No idea how to interpret the stuff below
- [VIK] pci_get_word: config*=0xde6514,word=0x0403
- [VIK] pci_bar: d->config*=0xde6510,reg=0,val=0x00000010
- [VIK] pci_get_word: config*=0xde6514,word=0x0403
- [VIK] pci_get_long: config*=0xde6520,word=0x90000008
- [VIK] pci_bar: d->config*=0xde6510,reg=2,val=0x00000018
- [VIK] pci_get_word: config*=0xde6514,word=0x0403
- [VIK] pci_get_long: config*=0xde6528,word=0xf2040000
- [VIK] pci_bar: d->config*=0xde6510,reg=4,val=0x00000020
- [VIK] pci_get_word: config*=0xde6514,word=0x0403
- [VIK] pci_get_long: config*=0xde6530,word=0x0000c201
- [VIK] pci_bar: d->config*=0xde6510,reg=6,val=0x00000030
- [VIK] pci_get_word: config*=0xde6514,word=0x0403
- [VIK] pci_get_long: config*=0xde6540,word=0xf2060008
- [VIK] pci_get_word: config*=0xde6514,word=0x0403
- [VIK] pci_data_read: addr=0x80002010,config_addr=0x00000010,val=0x90000008,len=4 Get first BAR (memory at 90000000, prefetch)
- [VIK] pci_data_read: addr=0x80002002,config_addr=0x00000002,val=0x00009440,len=2 Get device ID (9440 is RV770)
- [VIK] pci_data_read: addr=0x80002030,config_addr=0x00000030,val=0xf2060008,len=4 Get Expansion ROM BAR (f2060000, disabled)
- [VIK] pci_data_read: addr=0x80002030,config_addr=0x00000030,val=0xf2060008,len=4 Get Expansion ROM BAR (f2060000, disabled)
- [VIK] pci_data_write: addr=0x80002030,config_addr=0x00000030,val=0x00000001,len=1 Set Expansion ROM BAR to enabled
- FIXME: No idea how to interpret the data below
- [VIK] pci_get_word: config*=0xde6514,word=0x0403
- [VIK] pci_bar: d->config*=0xde6510,reg=0,val=0x00000010
- [VIK] pci_get_word: config*=0xde6514,word=0x0403
- [VIK] pci_get_long: config*=0xde6520,word=0x90000008
- [VIK] pci_bar: d->config*=0xde6510,reg=2,val=0x00000018
- [VIK] pci_get_word: config*=0xde6514,word=0x0403
- [VIK] pci_get_long: config*=0xde6528,word=0xf2040000
- [VIK] pci_bar: d->config*=0xde6510,reg=4,val=0x00000020
- [VIK] pci_get_word: config*=0xde6514,word=0x0403
- [VIK] pci_get_long: config*=0xde6530,word=0x0000c201
- [VIK] pci_bar: d->config*=0xde6510,reg=6,val=0x00000030
- [VIK] pci_get_word: config*=0xde6514,word=0x0403
- [VIK] pci_get_long: config*=0xde6540,word=0xf2060009
- [VIK] pci_data_read: addr=0x80002002,config_addr=0x00000002,val=0x00009440,len=2 Get device ID (9440 is RV770)
- [VIK] pci_data_read: addr=0x80002002,config_addr=0x00000002,val=0x00009440,len=2 Get device ID (9440 is RV770)
- [VIK] pci_data_read: addr=0x80002002,config_addr=0x00000002,val=0x00009440,len=2 Get device ID (9440 is RV770)
- [VIK] pci_data_read: addr=0x80002002,config_addr=0x00000002,val=0x00009440,len=2 Get device ID (9440 is RV770)
- [VIK] pci_data_read: addr=0x80002002,config_addr=0x00000002,val=0x00009440,len=2 Get device ID (9440 is RV770)
- [VIK] pci_data_read: addr=0x80002002,config_addr=0x00000002,val=0x00009440,len=2 Get device ID (9440 is RV770)
- [VIK] pci_data_read: addr=0x80002002,config_addr=0x00000002,val=0x00009440,len=2 Get device ID (9440 is RV770)
- [VIK] pci_data_read: addr=0x80002002,config_addr=0x00000002,val=0x00009440,len=2 Get device ID (9440 is RV770)
- [VIK] pci_data_read: addr=0x80002002,config_addr=0x00000002,val=0x00009440,len=2 Get device ID (9440 is RV770)
- [VIK] pci_data_read: addr=0x80002002,config_addr=0x00000002,val=0x00009440,len=2 Get device ID (9440 is RV770)
- [VIK] pci_data_read: addr=0x80002002,config_addr=0x00000002,val=0x00009440,len=2 Get device ID (9440 is RV770)
- [VIK] pci_data_read: addr=0x80002002,config_addr=0x00000002,val=0x00009440,len=2 Get device ID (9440 is RV770)
- [VIK] pci_data_read: addr=0x80002000,config_addr=0x00000000,val=0x00001002,len=2 Get vendor ID (1002 is ATI)
- [VIK] pci_data_read: addr=0x8000202c,config_addr=0x0000002c,val=0x22671787,len=4 Get subsystem vendor+device ID (1787 is Hightech Information System Ltd., 2267 is your card)
- [VIK] pci_data_read: addr=0x80002000,config_addr=0x00000000,val=0x00001002,len=2 Get vendor ID (1002 is ATI)
- [VIK] pci_data_read: addr=0x80002002,config_addr=0x00000002,val=0x00009440,len=2 Get device ID (9440 is RV770)
- [VIK] pci_data_write: addr=0x80002004,config_addr=0x00000004,val=0x00000403,len=2 Set command reg (unchanged)
- FIXME: No idea how to interpret the data below
- [VIK] pci_get_word: config*=0xde6514,word=0x0403
- [VIK] pci_bar: d->config*=0xde6510,reg=0,val=0x00000010
- [VIK] pci_get_word: config*=0xde6514,word=0x0403
- [VIK] pci_get_long: config*=0xde6520,word=0x90000008
- [VIK] pci_bar: d->config*=0xde6510,reg=2,val=0x00000018
- [VIK] pci_get_word: config*=0xde6514,word=0x0403
- [VIK] pci_get_long: config*=0xde6528,word=0xf2040000
- [VIK] pci_bar: d->config*=0xde6510,reg=4,val=0x00000020
- [VIK] pci_get_word: config*=0xde6514,word=0x0403
- [VIK] pci_get_long: config*=0xde6530,word=0x0000c201
- [VIK] pci_bar: d->config*=0xde6510,reg=6,val=0x00000030
- [VIK] pci_get_word: config*=0xde6514,word=0x0403
- [VIK] pci_get_long: config*=0xde6540,word=0xf2060009
- [VIK] pci_get_word: config*=0xde6514,word=0x0403
- [VIK] pci_data_write: addr=0x80002030,config_addr=0x00000030,val=0xf2060008,len=4 Set Expansion ROM BAR (f2060000, disabled)
- FIXME: No idea how to interpret the data below
- [VIK] pci_get_word: config*=0xde6514,word=0x0403
- [VIK] pci_bar: d->config*=0xde6510,reg=0,val=0x00000010
- [VIK] pci_get_word: config*=0xde6514,word=0x0403
- [VIK] pci_get_long: config*=0xde6520,word=0x90000008
- [VIK] pci_bar: d->config*=0xde6510,reg=2,val=0x00000018
- [VIK] pci_get_word: config*=0xde6514,word=0x0403
- [VIK] pci_get_long: config*=0xde6528,word=0xf2040000
- [VIK] pci_bar: d->config*=0xde6510,reg=4,val=0x00000020
- [VIK] pci_get_word: config*=0xde6514,word=0x0403
- [VIK] pci_get_long: config*=0xde6530,word=0x0000c201
- [VIK] pci_bar: d->config*=0xde6510,reg=6,val=0x00000030
- [VIK] pci_get_word: config*=0xde6514,word=0x0403
- [VIK] pci_get_long: config*=0xde6540,word=0xf2060008
- [VIK] pci_data_read: addr=0x80002034,config_addr=0x00000034,val=0x00000040,len=1 Get capability pointer (points to 40)
- [VIK] pci_data_read: addr=0x80002040,config_addr=0x00000040,val=0x00000005,len=1 Get capability at 40 (05 is Message Signalled Interrupts)
- [VIK] pci_data_read: addr=0x80002041,config_addr=0x00000041,val=0x00000000,len=1 Get next capability pointer (00 means end of list)
- [VIK] pci_data_read: addr=0x80002034,config_addr=0x00000034,val=0x00000040,len=1 Get capability pointer (points to 40)
- [VIK] pci_data_read: addr=0x80002040,config_addr=0x00000040,val=0x00000005,len=1 Get capability at 40 (05 is Message Signalled Interrupts)
- [VIK] pci_data_read: addr=0x80002041,config_addr=0x00000041,val=0x00000000,len=1 Get next capability pointer (00 means end of list)
- [VIK] pci_data_read: addr=0x80002010,config_addr=0x00000010,val=0x90000008,len=4 Get first BAR (memory at 90000000, prefetch)
- [VIK] pci_data_read: addr=0x80002014,config_addr=0x00000014,val=0x00000000,len=4 Get second BAR (not present?)
- [VIK] pci_data_read: addr=0x80002018,config_addr=0x00000018,val=0xf2040000,len=4 Get third BAR (memory at f2040000)
- [VIK] pci_data_read: addr=0x80002004,config_addr=0x00000004,val=0x00000403,len=2 Get command reg
- [VIK] pci_data_write: addr=0x80002004,config_addr=0x00000004,val=0x00000403,len=2 Set command reg (unchanged)
- FIXME: No idea how to interpret the data below
- [VIK] pci_get_word: config*=0xde6514,word=0x0403
- [VIK] pci_bar: d->config*=0xde6510,reg=0,val=0x00000010
- [VIK] pci_get_word: config*=0xde6514,word=0x0403
- [VIK] pci_get_long: config*=0xde6520,word=0x90000008
- [VIK] pci_bar: d->config*=0xde6510,reg=2,val=0x00000018
- [VIK] pci_get_word: config*=0xde6514,word=0x0403
- [VIK] pci_get_long: config*=0xde6528,word=0xf2040000
- [VIK] pci_bar: d->config*=0xde6510,reg=4,val=0x00000020
- [VIK] pci_get_word: config*=0xde6514,word=0x0403
- [VIK] pci_get_long: config*=0xde6530,word=0x0000c201
- [VIK] pci_bar: d->config*=0xde6510,reg=6,val=0x00000030
- [VIK] pci_get_word: config*=0xde6514,word=0x0403
- [VIK] pci_get_long: config*=0xde6540,word=0xf2060008
- [VIK] pci_get_word: config*=0xde6514,word=0x0403
- [VIK] pci_data_read: addr=0x80002010,config_addr=0x00000010,val=0x90000008,len=4 Get first BAR (memory at 90000000, prefetch)
- [VIK] pci_data_read: addr=0x80002002,config_addr=0x00000002,val=0x00009440,len=2 Get device ID (9440 is RV770)
- [VIK] pci_data_read: addr=0x80002030,config_addr=0x00000030,val=0xf2060008,len=4 Get Expansion ROM BAR (f2060000, disabled)
- [VIK] pci_data_read: addr=0x80002030,config_addr=0x00000030,val=0xf2060008,len=4 Get Expansion ROM BAR (f2060000, disabled)
- [VIK] pci_data_write: addr=0x80002030,config_addr=0x00000030,val=0x00000001,len=1 Set Expansion ROM BAR to enabled
- FIXME: No idea how to interpret the data below
- [VIK] pci_get_word: config*=0xde6514,word=0x0403
- [VIK] pci_bar: d->config*=0xde6510,reg=0,val=0x00000010
- [VIK] pci_get_word: config*=0xde6514,word=0x0403
- [VIK] pci_get_long: config*=0xde6520,word=0x90000008
- [VIK] pci_bar: d->config*=0xde6510,reg=2,val=0x00000018
- [VIK] pci_get_word: config*=0xde6514,word=0x0403
- [VIK] pci_get_long: config*=0xde6528,word=0xf2040000
- [VIK] pci_bar: d->config*=0xde6510,reg=4,val=0x00000020
- [VIK] pci_get_word: config*=0xde6514,word=0x0403
- [VIK] pci_get_long: config*=0xde6530,word=0x0000c201
- [VIK] pci_bar: d->config*=0xde6510,reg=6,val=0x00000030
- [VIK] pci_get_word: config*=0xde6514,word=0x0403
- [VIK] pci_get_long: config*=0xde6540,word=0xf2060009
- [VIK] pci_data_read: addr=0x80002002,config_addr=0x00000002,val=0x00009440,len=2 Get device ID (9440 is RV770)
- [VIK] pci_data_read: addr=0x80002002,config_addr=0x00000002,val=0x00009440,len=2 Get device ID (9440 is RV770)
- [VIK] pci_data_read: addr=0x80002002,config_addr=0x00000002,val=0x00009440,len=2 Get device ID (9440 is RV770)
- [VIK] pci_data_read: addr=0x80002002,config_addr=0x00000002,val=0x00009440,len=2 Get device ID (9440 is RV770)
- [VIK] pci_data_read: addr=0x80002002,config_addr=0x00000002,val=0x00009440,len=2 Get device ID (9440 is RV770)
- [VIK] pci_data_read: addr=0x80002002,config_addr=0x00000002,val=0x00009440,len=2 Get device ID (9440 is RV770)
- [VIK] pci_data_read: addr=0x80002002,config_addr=0x00000002,val=0x00009440,len=2 Get device ID (9440 is RV770)
- [VIK] pci_data_read: addr=0x80002002,config_addr=0x00000002,val=0x00009440,len=2 Get device ID (9440 is RV770)
- [VIK] pci_data_read: addr=0x80002002,config_addr=0x00000002,val=0x00009440,len=2 Get device ID (9440 is RV770)
- [VIK] pci_data_read: addr=0x80002002,config_addr=0x00000002,val=0x00009440,len=2 Get device ID (9440 is RV770)
- [VIK] pci_data_read: addr=0x80002002,config_addr=0x00000002,val=0x00009440,len=2 Get device ID (9440 is RV770)
- [VIK] pci_data_read: addr=0x80002002,config_addr=0x00000002,val=0x00009440,len=2 Get device ID (9440 is RV770)
- [VIK] pci_data_write: addr=0x80002004,config_addr=0x00000004,val=0x00000403,len=2 Set command reg (unchanged)
- FIXME: No idea how to interpret the data below
- [VIK] pci_get_word: config*=0xde6514,word=0x0403
- [VIK] pci_bar: d->config*=0xde6510,reg=0,val=0x00000010
- [VIK] pci_get_word: config*=0xde6514,word=0x0403
- [VIK] pci_get_long: config*=0xde6520,word=0x90000008
- [VIK] pci_bar: d->config*=0xde6510,reg=2,val=0x00000018
- [VIK] pci_get_word: config*=0xde6514,word=0x0403
- [VIK] pci_get_long: config*=0xde6528,word=0xf2040000
- [VIK] pci_bar: d->config*=0xde6510,reg=4,val=0x00000020
- [VIK] pci_get_word: config*=0xde6514,word=0x0403
- [VIK] pci_get_long: config*=0xde6530,word=0x0000c201
- [VIK] pci_bar: d->config*=0xde6510,reg=6,val=0x00000030
- [VIK] pci_get_word: config*=0xde6514,word=0x0403
- [VIK] pci_get_long: config*=0xde6540,word=0xf2060009
- [VIK] pci_get_word: config*=0xde6514,word=0x0403
- [VIK] pci_data_write: addr=0x80002030,config_addr=0x00000030,val=0xf2060008,len=4 Set Expansion ROM BAR (f2060000, disabled)
- FIXME: No idea how to interpret the data below
- [VIK] pci_get_word: config*=0xde6514,word=0x0403
- [VIK] pci_bar: d->config*=0xde6510,reg=0,val=0x00000010
- [VIK] pci_get_word: config*=0xde6514,word=0x0403
- [VIK] pci_get_long: config*=0xde6520,word=0x90000008
- [VIK] pci_bar: d->config*=0xde6510,reg=2,val=0x00000018
- [VIK] pci_get_word: config*=0xde6514,word=0x0403
- [VIK] pci_get_long: config*=0xde6528,word=0xf2040000
- [VIK] pci_bar: d->config*=0xde6510,reg=4,val=0x00000020
- [VIK] pci_get_word: config*=0xde6514,word=0x0403
- [VIK] pci_get_long: config*=0xde6530,word=0x0000c201
- [VIK] pci_bar: d->config*=0xde6510,reg=6,val=0x00000030
- [VIK] pci_get_word: config*=0xde6514,word=0x0403
- [VIK] pci_get_long: config*=0xde6540,word=0xf2060008