Fix using hardcoded ctr1_data in three functions, use corresponding controller instead.
Add pointer to parent controller to PORT_DATA structure,
Other small changes
git-svn-id: svn://kolibrios.org@9272 a494cfbc-eb01-0410-851d-a64ba20cac60
It is a formal requirement of UEFI spec that the stack is to be aligned
on 16 bytes on all calls to service routines. I changed eficall macro to
fstcall one in my previous commit. Due to differences in macro logic
that change broke UEFI boot on some platforms that do care about stack
alignment. This commit should fix the issue.
git-svn-id: svn://kolibrios.org@9253 a494cfbc-eb01-0410-851d-a64ba20cac60
* Detect last PCI bus via PCI Root Bridge IO protocol (uefi64kos only).
* fastcall macro by Tomasz is much cleaner than eficall from osdev board.
git-svn-id: svn://kolibrios.org@9227 a494cfbc-eb01-0410-851d-a64ba20cac60
If
- window A is above window B, and
- window A has been moved,
then window B receives a redraw event.
But if that move was 1px right or down, window B didn't receive an event
because of off-by-one error. Now it's fixed.
git-svn-id: svn://kolibrios.org@9221 a494cfbc-eb01-0410-851d-a64ba20cac60
This function returns values not in registers but in their images on
stack. Therefore we have to wrap a call with pushad/popad.
git-svn-id: svn://kolibrios.org@9185 a494cfbc-eb01-0410-851d-a64ba20cac60
- fix bugs with prdt overflow
- full refactoring of disk reading
- added fdo verbosity control
- other changes
git-svn-id: svn://kolibrios.org@9162 a494cfbc-eb01-0410-851d-a64ba20cac60
- added ahci_read_first_sector and it works
- temporariry removed ahci_read
- small changes
git-svn-id: svn://kolibrios.org@9141 a494cfbc-eb01-0410-851d-a64ba20cac60
- added disk registration in system
- added ahci_read (DOES NOT WORK, TODO), ahci_querymedia
- other changes
git-svn-id: svn://kolibrios.org@9140 a494cfbc-eb01-0410-851d-a64ba20cac60
- use spinlocks (added two functions) instead of delays in ahci_port_identify
- small changes
git-svn-id: svn://kolibrios.org@9139 a494cfbc-eb01-0410-851d-a64ba20cac60
- refactoring: use swap_bytes_in_words for strings in ident space
- added viewing lba48 addresable sectors count, disk capacity in MiB and GiB
- other small changes
git-svn-id: svn://kolibrios.org@9138 a494cfbc-eb01-0410-851d-a64ba20cac60
- added drive type detection
- identify now works both for SATA and SATAPI
- small fixes
git-svn-id: svn://kolibrios.org@9134 a494cfbc-eb01-0410-851d-a64ba20cac60
- fixed identify command sending, now driver successfully identifies hard disk model on my acer aspire
- small changes
git-svn-id: svn://kolibrios.org@9131 a494cfbc-eb01-0410-851d-a64ba20cac60
- fixed issue with staggered spin-up, so now works better on real hardware
- more verbose debug output
- other small changes
TODO: improve reading identification space
why identification space is all zeroes on my acer aspire ?
git-svn-id: svn://kolibrios.org@9130 a494cfbc-eb01-0410-851d-a64ba20cac60
- make some padding and reserved field anonymous
- correct mistake in FIS_DMA_SETUP, some fileds were absent
- small fixes
git-svn-id: svn://kolibrios.org@9072 a494cfbc-eb01-0410-851d-a64ba20cac60