Cxbx-Reloaded / xbox_kernel_test_suite

Xbox kernel APIs tester written using nxdk
GNU General Public License v3.0
22 stars 6 forks source link

Variant __ObjectType APIs discussion #91

Closed RadWolfie closed 6 months ago

RadWolfie commented 11 months ago

The following below APIs has OBJECT_TYPE data exposed:

PoolTag member variable ideally should match with the xbox kernel and can be easily verify.

However, there are callback member variables like AllocateProcedure, FreeProcedure, CloseProcedure, DeleteProcedure, and ParseProcedure. Should we find and verify which each APIs been used for these callback registers? See edit below:

EDIT: Both AllocateProcedure and FreeProcedure are always the same and are using exported kernel API which can be tested against. The remaining of CloseProcedure, DeleteProcedure, and ParseProcedure are internal functions which would not permit ability to verify the assignment is correct or not. Unless someone has an idea how to do that instead of hardcode address which can't be used for multiple revision of official xbox kernels and homebrew kernels.

DefaultObject member variable could not really be possible to verify against, as far as I know.

Also, should we use known APIs that is allocated with specific object type to verify attached object is a match?

Please discuss here how we should proceed for verify above APIs.

RadWolfie commented 9 months ago

All exports above had been implemented and are passing on hardware except is currently causing Cxbx-Reloaded to crash. Mainly because of some export types are using host's call directly than bind to xbox's objects. The pull request for these tests are currently on hold until we have ability to add option for exclude some tests.

RadWolfie commented 6 months ago

resolved by #104 pull request