git://scm.lunaixsky.com
/
lunaix-os.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
rework parsing of interupt-map in interrupt node.
[lunaix-os.git]
/
lunaix-os
/
includes
/
hal
/
ahci
/
ahci.h
diff --git
a/lunaix-os/includes/hal/ahci/ahci.h
b/lunaix-os/includes/hal/ahci/ahci.h
index 2ed135aba3d00a14f287b2c90a2a7b998337d4cf..7eaf10d4e012d73f231c457eeddf84a76f1cf57c 100644
(file)
--- a/
lunaix-os/includes/hal/ahci/ahci.h
+++ b/
lunaix-os/includes/hal/ahci/ahci.h
@@
-2,6
+2,7
@@
#define __LUNAIX_AHCI_H
#include "hba.h"
#define __LUNAIX_AHCI_H
#include "hba.h"
+#include <asm-generic/isrm.h>
/*
* Macro naming rule:
/*
* Macro naming rule:
@@
-21,18
+22,18
@@
struct ahci_driver
int id;
};
int id;
};
-/**
- * @brief 初始化AHCI与HBA
- *
- */
-void
-
ahci_init()
;
+struct ahci_driver_param
+{
+ ptr_t mmio_base;
+ size_t mmio_size;
+ int ahci_iv;
+
}
;
void
void
-ahci_parse_dev_info(struct hba_device* dev_info, u
int
16_t* data);
+ahci_parse_dev_info(struct hba_device* dev_info, u16_t* data);
void
void
-ahci_parsestr(char* str, u
int
16_t* reg_start, int size_word);
+ahci_parsestr(char* str, u16_t* reg_start, int size_word);
/**
* @brief Issue a HBA command (synchronized)
/**
* @brief Issue a HBA command (synchronized)
@@
-54,4
+55,10
@@
ahci_try_send(struct hba_port* port, int slot);
void
ahci_post(struct hba_port* port, struct hba_cmd_state* state, int slot);
void
ahci_post(struct hba_port* port, struct hba_cmd_state* state, int slot);
+struct ahci_driver*
+ahci_driver_init(struct ahci_driver_param* param);
+
+void
+ahci_hba_isr(const struct hart_state* hstate);
+
#endif /* __LUNAIX_AHCI_H */
#endif /* __LUNAIX_AHCI_H */