Thanks for the support, and thank you Hinnerk for sharing your GitHub branch, so far it was very useful to me when dealing with some errors.
I've looked into .mk files from base-hw and yes, the io_port* files only get added to the
core-hw.mk if one compiles for x86_64, so I've excluded these files from
core-sel4.mk file.
After excluding io_port* files, and clearing out seL4 object type related errors (e.g seL4_X86_4K) it got me through compile phase. The compiled image hangs on ## Starting application at 0xe0000000 … which appears to be an invalid address. All my previous apps were starting at 0x10001000. I've assumed that this is because I didn't include platform specific files that can be found in base-hw/src/core/spec and base-hw/src/core/include/spec directories.
Copying spec files from base-hw dir to my base-seL4/src/core/ directory and including them into my build didn't give me anything so far. When attempting to include them into my core-seL4.mk file normally resulted in one or the other file missing or doesn't exist error. But at least it improved my understanding of Genode's make process.
For now I just want to confirm one thing about core-seL4.mk file. Want to make sure that I understand everything correctly.
The files that are included through SRC_CC in core-seL4.mk. Not all of them are present in base-seL4/src/core. So, where does it pull the files that are not in base-sel4/src/core? Do they come from repos/base/src/core directory?