Changeset 70043 in vbox
- Timestamp:
- Dec 9, 2017 12:45:01 AM (7 years ago)
- svn:sync-xref-src-repo-rev:
- 119581
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Additions/common/VBoxGuest/VBoxGuest-netbsd.c
r70042 r70043 245 245 int rc = VINF_SUCCESS; 246 246 int iResId = 0; 247 vboxguest_softc * vboxguest;247 vboxguest_softc *sc; 248 248 struct pci_attach_args *pa = aux; 249 249 bus_space_tag_t iot, memt; … … 258 258 aprint_normal(": VirtualBox Guest\n"); 259 259 260 vboxguest= device_private(self);261 vboxguest->sc_dev = self;260 sc = device_private(self); 261 sc->sc_dev = self; 262 262 263 263 /* … … 268 268 { 269 269 LogFunc(("RTR0Init failed.\n")); 270 aprint_error_dev( vboxguest->sc_dev, "RTR0Init failed\n");270 aprint_error_dev(sc->sc_dev, "RTR0Init failed\n"); 271 271 return; 272 272 } 273 273 274 vboxguest->pc = pa->pa_pc;274 sc->pc = pa->pa_pc; 275 275 276 276 /* … … 278 278 */ 279 279 ioh_valid = (pci_mapreg_map(pa, PCI_MAPREG_START, PCI_MAPREG_TYPE_IO, 0, 280 & vboxguest->io_tag, &vboxguest->io_handle,281 & vboxguest->uIOPortBase, &vboxguest->io_regsize) == 0);280 &sc->io_tag, &sc->io_handle, 281 &sc->uIOPortBase, &sc->io_regsize) == 0); 282 282 283 283 if (ioh_valid) … … 288 288 */ 289 289 memh_valid = (pci_mapreg_map(pa, PCI_MAPREG_START+4, PCI_MAPREG_TYPE_MEM, BUS_SPACE_MAP_LINEAR, 290 & vboxguest->iVMMDevMemResId, &vboxguest->VMMDevMemHandle,291 & vboxguest->pMMIOBase, &vboxguest->VMMDevMemSize) == 0);290 &sc->iVMMDevMemResId, &sc->VMMDevMemHandle, 291 &sc->pMMIOBase, &sc->VMMDevMemSize) == 0); 292 292 if (memh_valid) 293 293 { … … 295 295 * Call the common device extension initializer. 296 296 */ 297 rc = VGDrvCommonInitDevExt(&g_DevExt, vboxguest->uIOPortBase,298 bus_space_vaddr( vboxguest->iVMMDevMemResId,299 vboxguest->VMMDevMemHandle),300 vboxguest->VMMDevMemSize,297 rc = VGDrvCommonInitDevExt(&g_DevExt, sc->uIOPortBase, 298 bus_space_vaddr(sc->iVMMDevMemResId, 299 sc->VMMDevMemHandle), 300 sc->VMMDevMemSize, 301 301 #if ARCH_BITS == 64 302 302 VBOXOSTYPE_NetBSD_x64, … … 310 310 * Add IRQ of VMMDev. 311 311 */ 312 rc = VBoxGuestNetBSDAddIRQ( vboxguest, pa);312 rc = VBoxGuestNetBSDAddIRQ(sc, pa); 313 313 if (RT_SUCCESS(rc)) 314 314 { 315 vboxguest->vboxguest_state |= VBOXGUEST_STATE_INITOK;316 VBoxGuestNetBSDWsmAttach( vboxguest);317 318 g_SC = vboxguest;315 sc->vboxguest_state |= VBOXGUEST_STATE_INITOK; 316 VBoxGuestNetBSDWsmAttach(sc); 317 318 g_SC = sc; 319 319 return; 320 320 } … … 323 323 else 324 324 { 325 aprint_error_dev( vboxguest->sc_dev, "init failed\n");325 aprint_error_dev(sc->sc_dev, "init failed\n"); 326 326 } 327 bus_space_unmap( vboxguest->iVMMDevMemResId, vboxguest->VMMDevMemHandle, vboxguest->VMMDevMemSize);327 bus_space_unmap(sc->iVMMDevMemResId, sc->VMMDevMemHandle, sc->VMMDevMemSize); 328 328 } 329 329 else 330 330 { 331 aprint_error_dev( vboxguest->sc_dev, "MMIO mapping failed\n");331 aprint_error_dev(sc->sc_dev, "MMIO mapping failed\n"); 332 332 } 333 bus_space_unmap( vboxguest->io_tag, vboxguest->io_handle, vboxguest->io_regsize);333 bus_space_unmap(sc->io_tag, sc->io_handle, sc->io_regsize); 334 334 } 335 335 else 336 336 { 337 aprint_error_dev( vboxguest->sc_dev, "IO mapping failed\n");337 aprint_error_dev(sc->sc_dev, "IO mapping failed\n"); 338 338 } 339 339 … … 350 350 * @param pa Pointer to the PCI attach arguments. 351 351 */ 352 static int VBoxGuestNetBSDAddIRQ(vboxguest_softc * vboxguest, struct pci_attach_args *pa)352 static int VBoxGuestNetBSDAddIRQ(vboxguest_softc *sc, struct pci_attach_args *pa) 353 353 { 354 354 int iResId = 0; … … 361 361 LogFlow((DEVICE_NAME ": %s\n", __func__)); 362 362 363 if (pci_intr_map(pa, & vboxguest->ih))364 { 365 aprint_error_dev( vboxguest->sc_dev, "couldn't map interrupt.\n");363 if (pci_intr_map(pa, &sc->ih)) 364 { 365 aprint_error_dev(sc->sc_dev, "couldn't map interrupt.\n"); 366 366 return VERR_DEV_IO_ERROR; 367 367 } 368 368 369 intrstr = pci_intr_string( vboxguest->pc, vboxguest->ih369 intrstr = pci_intr_string(sc->pc, sc->ih 370 370 #if __NetBSD_Prereq__(6, 99, 39) 371 371 , intstrbuf, sizeof(intstrbuf) 372 372 #endif 373 373 ); 374 aprint_normal_dev( vboxguest->sc_dev, "interrupting at %s\n", intrstr);375 376 vboxguest->pfnIrqHandler = pci_intr_establish(vboxguest->pc, vboxguest->ih, IPL_BIO, VBoxGuestNetBSDISR, vboxguest);377 if ( vboxguest->pfnIrqHandler == NULL)378 { 379 aprint_error_dev( vboxguest->sc_dev, "couldn't establish interrupt\n");374 aprint_normal_dev(sc->sc_dev, "interrupting at %s\n", intrstr); 375 376 sc->pfnIrqHandler = pci_intr_establish(sc->pc, sc->ih, IPL_BIO, VBoxGuestNetBSDISR, sc); 377 if (sc->pfnIrqHandler == NULL) 378 { 379 aprint_error_dev(sc->sc_dev, "couldn't establish interrupt\n"); 380 380 return VERR_DEV_IO_ERROR; 381 381 } … … 427 427 static int VBoxGuestNetBSDDetach(device_t self, int flags) 428 428 { 429 vboxguest_softc * vboxguest;430 vboxguest= device_private(self);429 vboxguest_softc *sc; 430 sc = device_private(self); 431 431 432 432 LogFlow((DEVICE_NAME ": %s\n", __func__)); … … 435 435 return EBUSY; 436 436 437 if (( vboxguest->vboxguest_state & VBOXGUEST_STATE_INITOK) == 0)437 if ((sc->vboxguest_state & VBOXGUEST_STATE_INITOK) == 0) 438 438 return 0; 439 439 … … 441 441 * Reverse what we did in VBoxGuestNetBSDAttach. 442 442 */ 443 if ( vboxguest->sc_vmmmousereq != NULL)444 VbglR0GRFree((VMMDevRequestHeader *) vboxguest->sc_vmmmousereq);445 446 VBoxGuestNetBSDRemoveIRQ( vboxguest);443 if (sc->sc_vmmmousereq != NULL) 444 VbglR0GRFree((VMMDevRequestHeader *)sc->sc_vmmmousereq); 445 446 VBoxGuestNetBSDRemoveIRQ(sc); 447 447 448 448 VGDrvCommonDeleteDevExt(&g_DevExt); 449 449 450 bus_space_unmap( vboxguest->iVMMDevMemResId, vboxguest->VMMDevMemHandle, vboxguest->VMMDevMemSize);451 bus_space_unmap( vboxguest->io_tag, vboxguest->io_handle, vboxguest->io_regsize);450 bus_space_unmap(sc->iVMMDevMemResId, sc->VMMDevMemHandle, sc->VMMDevMemSize); 451 bus_space_unmap(sc->io_tag, sc->io_handle, sc->io_regsize); 452 452 453 453 RTR0Term(); … … 462 462 * @param vboxguest Opaque pointer to the state info structure. 463 463 */ 464 static void VBoxGuestNetBSDRemoveIRQ(vboxguest_softc * vboxguest)464 static void VBoxGuestNetBSDRemoveIRQ(vboxguest_softc *sc) 465 465 { 466 466 LogFlow((DEVICE_NAME ": %s\n", __func__)); 467 467 468 if ( vboxguest->pfnIrqHandler)469 { 470 pci_intr_disestablish( vboxguest->pc, vboxguest->pfnIrqHandler);468 if (sc->pfnIrqHandler) 469 { 470 pci_intr_disestablish(sc->pc, sc->pfnIrqHandler); 471 471 } 472 472 } … … 598 598 { 599 599 int rc; 600 vboxguest_softc * vboxguest;600 vboxguest_softc *sc; 601 601 struct vboxguest_session *session; 602 602 file_t *fp; … … 605 605 LogFlow((DEVICE_NAME ": %s\n", __func__)); 606 606 607 if (( vboxguest= device_lookup_private(&vboxguest_cd, minor(device))) == NULL)607 if ((sc = device_lookup_private(&vboxguest_cd, minor(device))) == NULL) 608 608 { 609 609 printf("device_lookup_private failed\n"); … … 611 611 } 612 612 613 if (( vboxguest->vboxguest_state & VBOXGUEST_STATE_INITOK) == 0)614 { 615 aprint_error_dev( vboxguest->sc_dev, "device not configured\n");613 if ((sc->vboxguest_state & VBOXGUEST_STATE_INITOK) == 0) 614 { 615 aprint_error_dev(sc->sc_dev, "device not configured\n"); 616 616 return (ENXIO); 617 617 } … … 623 623 } 624 624 625 session->sc = vboxguest;625 session->sc = sc; 626 626 627 627 if ((error = fd_allocfile(&fp, &fd)) != 0) … … 637 637 if (! RT_SUCCESS(rc)) 638 638 { 639 aprint_error_dev( vboxguest->sc_dev, "VBox session creation failed\n");639 aprint_error_dev(sc->sc_dev, "VBox session creation failed\n"); 640 640 closef(fp); /* ??? */ 641 641 kmem_free(session, sizeof(*session)); … … 654 654 { 655 655 struct vboxguest_session *session = fp->f_data; 656 vboxguest_softc * vboxguest= session->sc;656 vboxguest_softc *sc = session->sc; 657 657 658 658 LogFlow((DEVICE_NAME ": %s\n", __func__)); … … 682 682 static int VBoxGuestNetBSDIOCtlSlow(struct vboxguest_session *session, u_long command, void *data) 683 683 { 684 vboxguest_softc * vboxguest= session->sc;684 vboxguest_softc *sc = session->sc; 685 685 size_t cbReq = IOCPARM_LEN(command); 686 686 PVBGLREQHDR pHdr = NULL; … … 797 797 { 798 798 struct vboxguest_session *session = fp->f_data; 799 vboxguest_softc * vboxguest= session->sc;799 vboxguest_softc *sc = session->sc; 800 800 801 801 int rc = 0;
Note:
See TracChangeset
for help on using the changeset viewer.