@@ -125,7 +125,7 @@ pub fn error_string(errno: RawOsError) -> String {
125
125
}
126
126
127
127
pub fn getcwd ( ) -> io:: Result < PathBuf > {
128
- match uefi_shell :: open_shell ( ) {
128
+ match helpers :: open_shell ( ) {
129
129
Some ( shell) => {
130
130
// SAFETY: path_ptr is managed by UEFI shell and should not be deallocated
131
131
let path_ptr = unsafe { ( ( * shell. as_ptr ( ) ) . get_cur_dir ) ( crate :: ptr:: null_mut ( ) ) } ;
@@ -144,7 +144,7 @@ pub fn getcwd() -> io::Result<PathBuf> {
144
144
}
145
145
146
146
pub fn chdir ( p : & path:: Path ) -> io:: Result < ( ) > {
147
- let shell = uefi_shell :: open_shell ( ) . ok_or ( unsupported_err ( ) ) ?;
147
+ let shell = helpers :: open_shell ( ) . ok_or ( unsupported_err ( ) ) ?;
148
148
149
149
let mut p = helpers:: os_string_to_raw ( p. as_os_str ( ) )
150
150
. ok_or ( io:: const_io_error!( io:: ErrorKind :: InvalidData , "Invalid path" ) ) ?;
@@ -275,40 +275,6 @@ pub fn getpid() -> u32 {
275
275
panic ! ( "no pids on this platform" )
276
276
}
277
277
278
- mod uefi_shell {
279
- use r_efi:: protocols:: shell;
280
-
281
- use super :: super :: helpers;
282
- use crate :: ptr:: NonNull ;
283
- use crate :: sync:: atomic:: { AtomicPtr , Ordering } ;
284
-
285
- pub fn open_shell ( ) -> Option < NonNull < shell:: Protocol > > {
286
- static LAST_VALID_HANDLE : AtomicPtr < crate :: ffi:: c_void > =
287
- AtomicPtr :: new ( crate :: ptr:: null_mut ( ) ) ;
288
-
289
- if let Some ( handle) = NonNull :: new ( LAST_VALID_HANDLE . load ( Ordering :: Acquire ) ) {
290
- if let Ok ( protocol) = helpers:: open_protocol :: < shell:: Protocol > (
291
- handle,
292
- r_efi:: protocols:: shell:: PROTOCOL_GUID ,
293
- ) {
294
- return Some ( protocol) ;
295
- }
296
- }
297
-
298
- let handles = helpers:: locate_handles ( shell:: PROTOCOL_GUID ) . ok ( ) ?;
299
- for handle in handles {
300
- if let Ok ( protocol) =
301
- helpers:: open_protocol :: < shell:: Protocol > ( handle, shell:: PROTOCOL_GUID )
302
- {
303
- LAST_VALID_HANDLE . store ( handle. as_ptr ( ) , Ordering :: Release ) ;
304
- return Some ( protocol) ;
305
- }
306
- }
307
-
308
- None
309
- }
310
- }
311
-
312
278
mod uefi_env {
313
279
use crate :: ffi:: { OsStr , OsString } ;
314
280
use crate :: io;
0 commit comments