Help using a macro in 16bit code
Hello All, I am working in the PV-Drivers for xen. I am trying to use a macro that will return a pointer inside a structure defined by a macro, using a macro. For example I create the front ring that will contain the disk read requests with a macro like this: struct blkif_ring * shared = memalign_low(4096,4096); //return 0x000fd630 this above 16bit 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 My problem is I do not know which macro to use to set the malloc in a place (segment) I can locate later in 16bit code. And since I am using macros when I try to use MAKE_FLATPTR and GET_SEG they make compilation error. Sorry for such silly questions. Daniel -- +-=====---------------------------+ | +---------------------------------+ | This space intentionally blank for notetaking. | | | Daniel Castro, | | | | Consultant/Programmer.| | | | U Andes | +-------------------------------------+
participants (1)
-
Daniel Castro