Hi Gabe,

Yes it should use virtual addresses. I think the reason why we are using 
physical addresses is because
usually semihosting is used in baremetal environments where virtual address 
*might* be identical to physical addresses
(virtual memory is disabled).
But since nothing stops semihosted environments to use virtual memory, we 
should move towards VirtProxy

Giacomo

________________________________
From: gem5-dev <[email protected]> on behalf of Gabe Black 
<[email protected]>
Sent: 29 February 2020 01:33
To: gem5 Developer List <[email protected]>
Subject: [gem5-dev] two ARM semihosting questions

Hi ARM developers. I have two ARM semihosting questions:

1. What address space is the parameter pointer supposed to be in? They
physical space, or whatever a load instruction would use at that point? The
current implementation in gem5 seems to assume a physical pointer, but I'd
always assumed virtual. If it's virtual it should be using getVirtProxy()
and not getPhysProxy. Also the secure port proxy may need revamped a little
to also do translation.

2. What scope is the state within the semihosting interface? Is it system
level, or simulation level? Currently the state is tracked at system level
which seems plausible, but since those are often and occasionally incorrect
treated as equivalent I thought it best to check.

Gabe
_______________________________________________
gem5-dev mailing list
[email protected]
http://m5sim.org/mailman/listinfo/gem5-dev
IMPORTANT NOTICE: The contents of this email and any attachments are 
confidential and may also be privileged. If you are not the intended recipient, 
please notify the sender immediately and do not disclose the contents to any 
other person, use it for any purpose, or store or copy the information in any 
medium. Thank you.
_______________________________________________
gem5-dev mailing list
[email protected]
http://m5sim.org/mailman/listinfo/gem5-dev

Reply via email to