Hypervisor usually just returns no access error (-6)...

Technical discussion on the newly released and hard to find PS3.

Moderators: cheriff, emoon

Post Reply
nbauernf
Posts: 11
Joined: Tue Nov 18, 2008 11:35 am
Location: Carnegie Mellon University

Hypervisor usually just returns no access error (-6)...

Post by nbauernf »

I have a question... I have taken apart the code that mc wrote for the otheros demo versions 1.0 and 1.1. I haven't looked much into the mcload bootloader except to tell that most of the code is the same in terms of the ps3-head assembly code, virtual memory, av communication, and the fb code. The new things are obviously still interesting to me and I will be looking into them... and so on.

However, my question comes from the actual return values that are given to us on most of the hypervisor calls. How come most of the time the hypervisor returns -6 (a.k.a. no access)? Do we need to somehow tell the hypervisor to be nice to us? The linux kernel code fails on this result (but does not fail to actually boot on the ps3, so it must not be getting this return value), however, it's all I can seem to get from the hypervisor. It really held me back before [I found mc's helpful example] and I'm just curious if there's a good reason for this.

I've really looked into the ps3 bringup code in the linux kernel vs. mc's bring-up vs. how I thought I was supposed to start-up and they were pretty much all the same. So I don't really understand why this problem exists.

Do we have to tell the hypervisor to play nice? If so, anyone know how?
ralferoo
Posts: 122
Joined: Sat Mar 03, 2007 9:14 am
Contact:

Re: Hypervisor usually just returns no access error (-6)...

Post by ralferoo »

nbauernf wrote:However, my question comes from the actual return values that are given to us on most of the hypervisor calls. How come most of the time the hypervisor returns -6 (a.k.a. no access)? Do we need to somehow tell the hypervisor to be nice to us? ... Do we have to tell the hypervisor to play nice? If so, anyone know how?
Are you calling it from kernel space or user-land under Linux? IIRC, the hypervisor functions will return that error if called from user-land. You'll probably want to write a kernel module that you can load and unload in order to test hypervisor functions.
nbauernf
Posts: 11
Joined: Tue Nov 18, 2008 11:35 am
Location: Carnegie Mellon University

Post by nbauernf »

I am calling them from kernel space. My memory management code hasn't quite hit the "problem-state" yet (what IBM calls user-space)...

At this point it has been a while, but if I remember correctly calls that request data from the ps3's repository seem to fail. Things like how much graphics RAM it has and similar things. In the near future I will be bringing things back up (I just moved from College to my next full-time destination, and my Desktop, which compiled the code, is not back together yet). When I do I'll post a detailed list of the function calls that appear to fail.

Thanks!
Post Reply