[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] Little help with Seabios PV-Drivers for XEN
On Fri, Mar 09, 2012 at 08:35:40AM +0900, Daniel Castro wrote: > Hello All, > > I have a little setback with the development of PV Drivers for Xen in SeaBIOS. Hey, seems I read your emails out of sync. > The initialization code that runs in 32 Bit is working properly. > But, when the system tries to read on the disk I use the ring macros > to get a request. The macro usage looks like this: > struct blkif_ring * shared = memalign_low(4096,4096); //return > 0x000fd630 this above 16bit address space > SHARED_RING_INIT(shared); > So far I have a pointer located at 0x0009a000 > Under 32bit the struct is correct and all is working according to plan. > > But on 16bit operation read on disk I have > struct blkfront_info * shared_ring = > container_of(op->drive_g.info->shared)); // I get d630 I should get it > from the correct segment, but how? > RING_GET_REQUEST(shared_ring); //this returns 0xffff and should be > something 0xa010 segment SS or something like that > > SeaBios has some macros that convert a pointer in 32Bit to 16Bit by > changing the segment register, yet I do not know in what segment the > ring is located, and the macros are not applied inside the procedure > of the macro, for example: There should be some way to set your physical address (so 9a000) to a segment? > MAKE_FLATPTR(GET_SEG(SS),RING_GET_REQUEST(shared_ring)); > But this will change a 16Bit pointer of segment SS to a 32 bit > segment. There is also the reverse but, again I do not know the > segment in which I should look for. Lastly the process inside the > macro does not get this benefin, and I do not know if the macro will > work with a pointer of size 16bits. 16-bits should be fine. The problem is if you run your pointer outside the 16-bit segment. > > Any help will be GREATLY appreciated, I am almost done. > > Thanks, > > Daniel > -- > +-=====---------------------------+ > | +---------------------------------+ | This space intentionally blank > for notetaking. > | | | Daniel Castro, | > | | | Consultant/Programmer.| > | | | U Andes | > +-------------------------------------+ > > _______________________________________________ > Xen-devel mailing list > Xen-devel@xxxxxxxxxxxxx > http://lists.xen.org/xen-devel _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |