I found this one useful if I recall - I read it a long time ago and while I still have it, I'm currently traveling so can't see exactly what it contains on this:
https://www.amazon.com/Advanced-PC-Arch ... chitecture
It also provided useful info on ATA using programmable IO for disk access. I used this info to write the 64-bit long mode code for my boot loader.