uint64_t sata_irq_cnt = 0;
void sata_irq_handler(unsigned int irq, pt_regs_t* regs, void* dev_id) {
+ sata_irq_cnt++;
+
for (int i = 0; i < max_sata_devices; i++) {
sata_device_t* sata = sata_devices + i;
ahci_port_t* port = sata->port;
assert(port != NULL);
- sata_irq_cnt += 1;
-
//
uint32_t interrupt_status = port->interrupt_status;
if (0 == interrupt_status) {
#define TTY_GREEN 0b0010
#define TTY_CYAN 0b0011
#define TTY_RED 0b0100
-#define TTY_PURPLE 0b101
-#define TTY_YELLOW 0b110
+#define TTY_PURPLE 0b0101
+#define TTY_YELLOW 0b0110
#define TTY_WHITE 0b0111
typedef struct tty {
while (1) {
down(&disk_request_queue.sem);
+ for (int i = 0; i < 123; i++) {
+ asm("hlt");
+ }
+
mutex_lock(&disk_request_queue.mutex);
assert(!list_empty(&disk_request_queue.list));
disk_request_t* req = list_first_entry(&disk_request_queue.list, disk_request_t, list);
disk_request_queue.completed_count++; // 不需要保护
- for (int i = 0; i < 123; i++) {
- asm("hlt");
- }
+ // for (int i = 0; i < 123; i++) {
+ // asm("hlt");
+ // }
}
}