[uaccess] Replace real_to_user() with real_to_virt()

Remove the intermediate concept of a user pointer from real address
conversion, leaving real_to_virt() as the directly implemented
function.

Signed-off-by: Michael Brown <mcb30@ipxe.org>
This commit is contained in:
Michael Brown
2025-04-21 18:28:56 +01:00
parent 8c31270a21
commit 050df80bbc
19 changed files with 43 additions and 43 deletions

View File

@@ -49,7 +49,7 @@ static int bios_find_smbios2 ( struct smbios *smbios ) {
int rc;
/* Scan through BIOS segment to find SMBIOS 32-bit entry point */
if ( ( rc = find_smbios_entry ( real_to_user ( BIOS_SEG, 0 ), 0x10000,
if ( ( rc = find_smbios_entry ( real_to_virt ( BIOS_SEG, 0 ), 0x10000,
&entry ) ) != 0 )
return rc;
@@ -73,7 +73,7 @@ static int bios_find_smbios3 ( struct smbios *smbios ) {
int rc;
/* Scan through BIOS segment to find SMBIOS 64-bit entry point */
if ( ( rc = find_smbios3_entry ( real_to_user ( BIOS_SEG, 0 ), 0x10000,
if ( ( rc = find_smbios3_entry ( real_to_virt ( BIOS_SEG, 0 ), 0x10000,
&entry ) ) != 0 )
return rc;

View File

@@ -549,7 +549,7 @@ static int int13_rw_sectors ( struct san_device *sandev,
lba = ( ( ( ( cylinder * int13->heads ) + head )
* int13->sectors_per_track ) + sector - 1 );
count = ix86->regs.al;
buffer = real_to_user ( ix86->segs.es, ix86->regs.bx );
buffer = real_to_virt ( ix86->segs.es, ix86->regs.bx );
DBGC2 ( sandev->drive, "C/H/S %d/%d/%d = LBA %08lx <-> %04x:%04x "
"(count %d)\n", cylinder, head, sector, lba, ix86->segs.es,
@@ -747,7 +747,7 @@ static int int13_extended_rw ( struct san_device *sandev,
DBGC2 ( sandev->drive, "%08llx",
( ( unsigned long long ) addr.buffer_phys ) );
} else {
buffer = real_to_user ( addr.buffer.segment,
buffer = real_to_virt ( addr.buffer.segment,
addr.buffer.offset );
DBGC2 ( sandev->drive, "%04x:%04x", addr.buffer.segment,
addr.buffer.offset );

View File

@@ -106,7 +106,7 @@ static userptr_t rsdp_find_rsdt ( void ) {
/* Search EBDA */
get_real ( ebda_seg, BDA_SEG, BDA_EBDA );
if ( ebda_seg < RSDP_EBDA_END_SEG ) {
ebda = real_to_user ( ebda_seg, 0 );
ebda = real_to_virt ( ebda_seg, 0 );
ebda_len = ( ( RSDP_EBDA_END_SEG - ebda_seg ) * 16 );
rsdt = rsdp_find_rsdt_range ( ebda, ebda_len );
if ( rsdt )

View File

@@ -243,7 +243,7 @@ static int vesafb_mode_list ( uint16_t **mode_numbers ) {
controller->video_mode_ptr.offset );
/* Calculate length of mode list */
video_mode_ptr = real_to_user ( controller->video_mode_ptr.segment,
video_mode_ptr = real_to_virt ( controller->video_mode_ptr.segment,
controller->video_mode_ptr.offset );
len = 0;
do {