@@ -72,18 +72,16 @@ function initializeBlockDevice(pciDevice) {
72
72
return u8 ;
73
73
}
74
74
75
- const diskDriver = new runtime . disk . DiskInterface ( 'hda ', {
75
+ const diskDriver = new runtime . block . BlockDeviceInterface ( 'virtio ', {
76
76
read ( sector , data ) {
77
77
return new Promise ( ( resolve , reject ) => {
78
78
if ( sector > totalSectorCount ) {
79
- setImmediate ( ( ) => {
80
- reject ( new RangeError ( `sector ${ sector } out of bounds (max ${ totalSectorCount } , non-inclusive)` ) ) ;
81
- } ) ;
79
+ reject ( new RangeError ( `sector ${ sector } out of bounds (max ${ totalSectorCount } , non-inclusive)` ) ) ;
82
80
return ;
83
81
}
84
82
const status = new Uint8Array ( 1 ) ;
85
83
promiseQueue . push ( [ resolve , reject , VIRTIO_BLK_T_IN , data , status ] ) ;
86
- reqQueue . placeBuffers ( [ buildHeader ( VIRTIO_BLK_T_IN , sector ) , data , status ] , [ false , true , true ] ) ;
84
+ reqQueue . placeBuffers ( [ buildHeader ( VIRTIO_BLK_T_IN , sector ) , data , status ] , null , [ false , true , true ] ) ;
87
85
88
86
if ( reqQueue . isNotificationNeeded ( ) ) {
89
87
dev . queueNotify ( QUEUE_ID_REQ ) ;
@@ -94,7 +92,7 @@ function initializeBlockDevice(pciDevice) {
94
92
return new Promise ( ( resolve , reject ) => {
95
93
const status = new Uint8Array ( 1 ) ;
96
94
promiseQueue . push ( [ resolve , reject , VIRTIO_BLK_T_OUT , data , status ] ) ;
97
- reqQueue . placeBuffers ( [ buildHeader ( VIRTIO_BLK_T_OUT , sector ) , data , status ] , [ false , false , true ] ) ;
95
+ reqQueue . placeBuffers ( [ buildHeader ( VIRTIO_BLK_T_OUT , sector ) , data , status ] , null , [ false , false , true ] ) ;
98
96
99
97
if ( reqQueue . isNotificationNeeded ( ) ) {
100
98
dev . queueNotify ( QUEUE_ID_REQ ) ;
@@ -111,7 +109,7 @@ function initializeBlockDevice(pciDevice) {
111
109
} ,
112
110
} ) ;
113
111
114
- runtime . disk . registerDisk ( diskDriver ) ;
112
+ runtime . block . registerDevice ( diskDriver ) ;
115
113
116
114
function recvBuffer ( ) {
117
115
if ( promiseQueue . length === 0 ) {
0 commit comments