The PM4 packet processor is handling all non-HSA GPU packets such as packets for (un)mapping HSA queues. This commit pulls many Linux structs and defines out into their own files for clarity. Finally, it implements the VMID related functions in AMDGPU device. Change-Id: I5f0057209305404df58aff2c4cd07762d1a31690 Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/53068 Reviewed-by: Matt Sinclair <mattdsinclair@gmail.com> Maintainer: Matt Sinclair <mattdsinclair@gmail.com> Tested-by: kokoro <noreply+kokoro@google.com>
70 lines
3.7 KiB
C++
70 lines
3.7 KiB
C++
/*
|
|
* Copyright (c) 2021 Advanced Micro Devices, Inc.
|
|
* All rights reserved.
|
|
*
|
|
* Redistribution and use in source and binary forms, with or without
|
|
* modification, are permitted provided that the following conditions are met:
|
|
*
|
|
* 1. Redistributions of source code must retain the above copyright notice,
|
|
* this list of conditions and the following disclaimer.
|
|
*
|
|
* 2. Redistributions in binary form must reproduce the above copyright notice,
|
|
* this list of conditions and the following disclaimer in the documentation
|
|
* and/or other materials provided with the distribution.
|
|
*
|
|
* 3. Neither the name of the copyright holder nor the names of its
|
|
* contributors may be used to endorse or promote products derived from this
|
|
* software without specific prior written permission.
|
|
*
|
|
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
|
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
|
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
|
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
|
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
|
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
|
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
|
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
|
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
|
* POSSIBILITY OF SUCH DAMAGE.
|
|
*
|
|
*/
|
|
|
|
#ifndef __DEV_AMDGPU_PM4_MMIO_HH__
|
|
#define __DEV_AMDGPU_PM4_MMIO_HH__
|
|
|
|
namespace gem5
|
|
{
|
|
|
|
#define mmCP_RB0_BASE 0x1040
|
|
#define mmCP_RB0_CNTL 0x1041
|
|
#define mmCP_RB_WPTR_POLL_ADDR_LO 0x1046
|
|
#define mmCP_RB_WPTR_POLL_ADDR_HI 0x1047
|
|
#define mmCP_RB_VMID 0x1051
|
|
#define mmCP_RB0_RPTR_ADDR 0x1043
|
|
#define mmCP_RB0_RPTR_ADDR_HI 0x1044
|
|
#define mmCP_RB0_WPTR 0x1054
|
|
#define mmCP_RB0_WPTR_HI 0x1055
|
|
#define mmCP_RB_DOORBELL_CONTROL 0x1059
|
|
#define mmCP_RB_DOORBELL_RANGE_LOWER 0x105a
|
|
#define mmCP_RB_DOORBELL_RANGE_UPPER 0x105b
|
|
#define mmCP_RB0_BASE_HI 0x10b1
|
|
|
|
#define mmCP_HQD_ACTIVE 0x1247
|
|
#define mmCP_HQD_VMID 0x1248
|
|
#define mmCP_HQD_PQ_BASE 0x124d
|
|
#define mmCP_HQD_PQ_BASE_HI 0x124e
|
|
#define mmCP_HQD_PQ_DOORBELL_CONTROL 0x1254
|
|
#define mmCP_HQD_PQ_RPTR 0x124f
|
|
#define mmCP_HQD_PQ_RPTR_REPORT_ADDR 0x1250
|
|
#define mmCP_HQD_PQ_RPTR_REPORT_ADDR_HI 0x1251
|
|
#define mmCP_HQD_PQ_WPTR_POLL_ADDR 0x1252
|
|
#define mmCP_HQD_PQ_WPTR_POLL_ADDR_HI 0x1253
|
|
#define mmCP_HQD_IB_CONTROL 0x125a
|
|
#define mmCP_HQD_PQ_WPTR_LO 0x127b
|
|
#define mmCP_HQD_PQ_WPTR_HI 0x127c
|
|
|
|
} // namespace gem5
|
|
|
|
#endif // __DEV_AMDGPU_PM4_MMIO_HH__
|