Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Parse some SIO/DMA-related data in ADT #354

Open
wants to merge 3 commits into
base: main
Choose a base branch
from

Conversation

povik
Copy link
Member

@povik povik commented Nov 18, 2023

No description provided.

@povik
Copy link
Member Author

povik commented Nov 18, 2023

This makes the dp-audio addresses visible. E.g. on t8103 on the sio node, look at the SAUD device in the dmashim list:

            dmashim = [Container: 
    name = u'SSPI' (total 4)
    base = 0x0000000235100000
    length = 0x0000000000100000
    unk1 = 0x0000000D
    unk2 = 0x0000000E
    unk3 = 0x0000000F
    stride = 0x00004000, Container: 
    name = u'SUAR' (total 4)
    base = 0x0000000235200000
    length = 0x0000000000100000
    unk1 = 0x00000001
    unk2 = 0x00000002
    unk3 = 0x00000003
    stride = 0x00004000, Container: 
    name = u'SAUD' (total 4)
    base = 0x0000000238300000
    length = 0x0000000000100000
    unk1 = 0x0000001E
    unk2 = 0x0000001F
    unk3 = 0x00000020
    stride = 0x00004000]

@jannau
Copy link
Member

jannau commented Nov 25, 2023

This breaks running macOS under the hypervisor. It panics with:

RTBuddy(AOP): Boot args override: wdt = -1
panic(cpu 0 caller 0xfffffe001687c650): "RTBuddy(AOP)::getSegmentMap " "OSArray *RTBuddy::getSegmentMap() const:2438: REQUIRE failed: iterator == nullptr" @RTBuddy.cpp:2438

@povik
Copy link
Member Author

povik commented Nov 25, 2023

That's weird.

@marcan marcan force-pushed the main branch 3 times, most recently from 4f95305 to 95d67cf Compare April 9, 2024 03:58
@jannau
Copy link
Member

jannau commented Apr 16, 2024

This is change breaks the ADT parsing. On a freshly booted system

python3 -m m1n1.adt -r ref.adt
tools/chainload.py -r ../build/m1n1.bin
python3 -m m1n1.adt -r broken.adt

ref.adt and broken.adt differ and the second adt fetch throws following assertion:

Traceback (most recent call last):
File "", line 198, in _run_module_as_main
File "", line 88, in _run_code
File "/home/janne/src/m1n1/proxyclient/m1n1/adt.py", line 879, in
assert adt_data[len(new_data):] == bytes(len(adt_data) - len(new_data))
AssertionError

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants