[an error occurred while processing this directive]

HP OpenVMS Systems

ask the wizard
Content starts here

Invalid PTE Format Bugcheck?

» close window

The Question is:

 
The following driver function for direct I/O  produces sporadically
the bugcheck error  INVALID PAGE TABLE ENTRY FORMAT
in the  ioc$load_map function.
I believe that the code conformes to the documention
"OpenVMS Alpha Guide yo Upgrading Priviledged-Code
Applications" .
Thank you very much in advance for any hint.
 
Yours sincerely
Kar. H. Degenhardt
 
/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 
Read data by DMA
 
(function is defined with DIRECT_64 flag)
 
--------------------------------------------------------------*/
 
int  ck$dma_operation (IRP *irp, PCB *pcb, *ucb, CCB *ccb)
 
  CHAR_PQ qio_bufp;
  int buflen;
 
...
 
/* get user buffer address and length */
  qio_bufp = (CHAR_PQ)irp->irp$q_qio_p1;
  count = irp->irp$l_qio_p2;
  buflen = 4*count;
 
...
 
/* Check write access to user buffer and lock buffer in memory */
    status = exe_std$readlock(irp,pcb,ucb,ccb,(VOID_PQ)qio_bufp,buflen,0);
    if (! $VMS_STATUS_SUCCESS(status))
    return (call_abortio(irp,pcb,ucb,status));
 
...
 
/* get crctx and set item count*/
  crab = adp->adp$l_crab;
  status = ioc$alloc_crctx(crab,&crctx,0);
  if (! $VMS_STATUS_SUCCESS(status))
  return (call_abortio(irp,pcb,ucb,status));
  crctx->crctx$l_item_cnt = (buflen >> 13) + 2;
/* get resources */
  status = ioc$alloc_cnt_res(crab,crctx,0,0,0);
  if (! $VMS_STATUS_SUCCESS(status))
  {
    status = ioc$dealloc_crctx(crctx);
    return (call_abortio(irp,pcb,ucb,status));
  }
/* load map registers */
  status = ioc$load_map(adp,crctx,irp->irp$l_svapte,
          irp->irp$l_boff, (void **)&dma_base);
  if (! $VMS_STATUS_SUCCESS(status))
  {
    status = ioc$dealloc_cnt_res(adp->adp$l_crab, crctx);
    status = ioc$dealloc_crctx(crctx);
    return (call_abortio(irp,pcb,ucb,status));
  }
 
...
 
  return (call_qiodrvpkt(irp, ucb));
 
  return (call_finishio(irp, ucb, status, 0));
 
 


The Answer is :

 
  Without a rather more detailed investigation involving a complete
  source example of the driver and an example of the crash, an answer
  is difficult.
 
  The OpenVMS Wizard would encourage contact with the Compaq Customer
  Support Center.
 

answer written or last revised on ( 8-DEC-2000 )

» close window