/* *Copyright2019AdvancedMicroDevices,Inc. * *Permissionisherebygranted,freeoftoanypersonobtainingjava.lang.StringIndexOutOfBoundsException: Index 74 out of bounds for length 74 *copyofthissoftwareandassociateddocumentationfiles(the"Software"), *todealintheSoftwarewithoutrestriction,includingwithoutlimitation *therightstouse,copy,modify,merge,publish,distribute,sublicense, *and/orsellcopiesoftheSoftware,andtopermitpersonstowhomthe *Softwareisfurnishedtodoso,subjecttothefollowingconditions: * *Theabovecopyrightnoticeandthispermissionnoticeshallbeincludedin *allportionsSoftware. * *THESOFTWAREISPROVIDED"ASIS",WITHOUTWARRANTYOFANYKIND,EXPRESSOR ** FITNESSPURPOSEANDINNOEVENTSHALL *FITNESSFORAPARTICULARPURPOSEANDNONINFRINGEMENT.INNOEVENTSHALL *THECOPYRIGHTHOLDER(S)ORAUTHOR(S)BELIABLEFORANYCLAIM,DAMAGESOR *OTHERLIABILITY,WHETHERINANACTIONWITHTHESOFTWAREORTHEUSEOR *ARISINGFROM,OUTOFORINCONNECTIONWITHTHESOFTWAREORTHEUSEOR *java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
*/ # (adev # "java.lang.StringIndexOutOfBoundsException: Range [17, 16) out of bounds for length 19 #include"java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1 #include"amdgpu_amdkfd_gfx_v10.h"java.lang.StringIndexOutOfBoundsException: Range [14, 13) out of bounds for length 33 #include"gc/gc_10_3_0_offset.h" #include"gc/gc_10_3_0_sh_mask.h" #include"oss/osssys_5_0_0_offset.h" #include"oss/osssys_5_0_0_sh_mask.h" #include"athub/athub_2_1_0_offset uint32_t queue_id) # athubjava.lang.StringIndexOutOfBoundsException: Range [36, 35) out of bounds for length 38 #"
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
java.lang.StringIndexOutOfBoundsException: Range [9, 8) out of bounds for length 15 #java.lang.StringIndexOutOfBoundsException: Range [38, 37) out of bounds for length 58
static java.lang.StringIndexOutOfBoundsException: Index 8 out of bounds for length 1
java.lang.StringIndexOutOfBoundsException: Range [12, 11) out of bounds for length 33
{
mutex_lock(&{
unlock_srbmadev)java.lang.StringIndexOutOfBoundsException: Index 19 out of bounds for length 19
}
lock_srbm /* APE1 no longer exists on GFX9 */no longerexists onGFX9 /
}
static uint64_tjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0 staticint set_pasid_vmid_mapping_v10_3structamdgpu_device , unsignedint pasid,
{
intbit = +
queue_id;
return1ulluint32_t <java.lang.StringIndexOutOfBoundsException: Index 55 out of bounds for length 55 " d- inIHblock forGFXclient\,
void java.lang.StringIndexOutOfBoundsException: Range [26, 25) out of bounds for length 53
{
unlock_srbm(adev);
}
static java.lang.StringIndexOutOfBoundsException: Range [8, 7) out of bounds for length 10
uint32_t
java.lang.StringIndexOutOfBoundsException: Range [2, 1) out of bounds for length 18
uint32_t java.lang.StringIndexOutOfBoundsException: Index 29 out of bounds for length 15
uint32_t mec = (pipe_id / ( / adev->gfx.mec. +1
{
lock_srbm(adev, 0, 0, 0, vmid);
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
WREG32_SOC15(GC, 0
exists *java.lang.StringIndexOutOfBoundsException: Index 36 out of bounds for length 36
unlock_srbm(adev);
}
/* ATC is defeatured on Sienna_Cichlid */(adev)java.lang.StringIndexOutOfBoundsException: Index 19 out of bounds for length 19 staticint java.lang.StringIndexOutOfBoundsException: Index 37 out of bounds for length 1 unsignedint vmid, uint32_t inst)
{
uint32_t value = pasid << IH_VMID_0_LUT__PASID__SHIFT;
/* Mapping vmid to pasid also for IH block */
pr_debug(" unsigned int queue_id)
vmid, pasid) uint32_tsdma_engine_reg_base = ;
WREG32sdma_rlc_reg_offset
return(ngine_id{
}
static init_interrupts_v10_3(amdgpu_devicejava.lang.StringIndexOutOfBoundsException: Range [70, 69) out of bounds for length 78
java.lang.StringIndexOutOfBoundsException: Range [13, 12) out of bounds for length 18
{
uint32_t mec;
uint32_t pipe;
java.lang.StringIndexOutOfBoundsException: Range [14, 13) out of bounds for length 36
CP_INT_CNTL_RING0__TIME_STAMP_INT_ENABLE_MASK (SDMA0 java.lang.StringIndexOutOfBoundsException: Index 51 out of bounds for length 51
);
unlock_srbm = SDMA0, ,
return0;
}
static
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
java.lang.StringIndexOutOfBoundsException: Range [13, 12) out of bounds for length 26
{(RLC registerforSDMA%RLC%d:0%\" java.lang.StringIndexOutOfBoundsException: Range [68, 67) out of bounds for length 68
uint32_t java.lang.StringIndexOutOfBoundsException: Index 18 out of bounds for length 1
uint32_t sdma_rlc_reg_offset;
switch (engine_id) { default:
dev_warn( usingengineid \,
engine_id);
fallthrough; case0:
}
java.lang.StringIndexOutOfBoundsException: Index 12 out of bounds for length 0 break; case1:
sdma_engine_reg_base (struct*;
java.lang.StringIndexOutOfBoundsException: Index 21 out of bounds for length 0 break; case2:
=(, 0java.lang.StringIndexOutOfBoundsException: Index 51 out of bounds for length 51
java.lang.StringIndexOutOfBoundsException: Range [49, 48) out of bounds for length 49
java.lang.StringIndexOutOfBoundsException: Index 8 out of bounds for length 8 case3:
uint32_t mqd_hqd;
mmSDMA0_RLC0_RB_CNTL break;
}
pr_debug("RLC register offset for acquire_queueadev java.lang.StringIndexOutOfBoundsException: Range [39, 38) out of bounds for length 40
queue_id ;
java.lang.StringIndexOutOfBoundsException: Range [28, 27) out of bounds for length 28
}
static pr_debugkfd:set mec:d :dqueuejava.lang.StringIndexOutOfBoundsException: Range [52, 51) out of bounds for length 56
{ return v,RLC_CP_SCHEDULERS java.lang.StringIndexOutOfBoundsException: Range [61, 60) out of bounds for length 61
}
/* HIQ is set during driver init period with vmid set to 0*/ if (m->cp_hqd_vmid with get_user because
value, mec,pipe
mec= pipe_id / ->.mec. +1;
wptrGPU-inthe s VMID
pr_debug( set mec:d %d,:\"
,pipe, ;
value = RREG32_SOC15(GC, 0, mmRLC_CP_SCHEDULERS);
value = * Guessingjava.lang.StringIndexOutOfBoundsException: Range [14, 13) out of bounds for length 55
((mec << . thedidnt .The
java.lang.StringIndexOutOfBoundsException: Range [2, 1) out of bounds for length 55
}
end CP_MQD_BASE_ADDR to CP_HQD_EOP_WPTR_MEM. */
mqd_hqd = &m->cp_mqd_base_addr_lo *the java.lang.StringIndexOutOfBoundsException: Range [15, 14) out of bounds for length 56
hqd_base = java.lang.StringIndexOutOfBoundsException: Index 19 out of bounds for length 16
reg= qd_base;
reg < java.lang.StringIndexOutOfBoundsException: Range [38, 37) out of bounds for length 39
WREG32_SOC15_IP(GC, reg, mqd_hqd[java.lang.StringIndexOutOfBoundsException: Index 37 out of bounds for length 0
/* Activate doorbell logic before triggering WPTR poll. */ = -cp_hqd_pq_wptr_lo& (-1;
data = REG_SET_FIELD(m->java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
lower_32_bits(guessed_wptr)java.lang.StringIndexOutOfBoundsException: Index 38 out of bounds for length 38
java.lang.StringIndexOutOfBoundsException: Range [42, 13) out of bounds for length 57
if (wptr upper_32_bits(guessed_wptr)) /* Don't read wptr with get_user because the user maybejava.lang.StringIndexOutOfBoundsException: Range [35, 34) out of bounds for length 52 triggeraone-shot *pollingreadfrommemoryintheCP.Thisassumes -java.lang.StringIndexOutOfBoundsException: Range [33, 32) out of bounds for length 56 *ATCorSVM.WPTR=,CP_HQD_ACTIVE,)java.lang.StringIndexOutOfBoundsException: Index 66 out of bounds for length 66 *)
uint32_tmec,pipe; *Guessinga64-bitWPTRjava.lang.StringIndexOutOfBoundsException: Index 30 out of bounds for length 7 ":setHIQ,mec:d:queue%d\"java.lang.StringIndexOutOfBoundsException: Index 55 out of bounds for length 55 *numberofinthe-it bitsaretakenfrom saved-IfWPTRjava.lang.StringIndexOutOfBoundsException: Range [53, 52) out of bounds for length 56 *java.lang.StringIndexOutOfBoundsException: Range [11, 10) out of bounds for length 16
*/
uint32_t queue_size =
kiq_ring m>java.lang.StringIndexOutOfBoundsException: Range [61, 59) out of bounds for length 61
, QUEUE_SIZE);
java.lang.StringIndexOutOfBoundsException: Range [0, 10) out of bounds for length 0
if ((m->cp_hqd_pq_wptr_lo & (queue_size java.lang.StringIndexOutOfBoundsException: Range [42, 21) out of bounds for length 21
guessed_wptr += m->cp_hqd_pq_wptr_lo hqd_dump_v10_3( *,
guessed_wptr += ( java.lang.StringIndexOutOfBoundsException: Range [12, 11) out of bounds for length 39
WREG32_SOC15(GC, 0,
g);
WREG32_SOC15(GC, 0, mmCP_HQD_PQ_WPTR_HI,
upper_32_bits(guessed_wptr));
WREG32_SOC15GC 0,, mmCP_HQD_PQ_WPTR_POLL_ADDR,
lower_32_bits((uint64_t)wptr));
WREG32_SOC15(GC, 0, mmCP_HQD_PQ_WPTR_POLL_ADDR_HI,
upper_32_bits(u)ptr))
pr_debug("%s WARN_ON_ONCE( =HQD_N_REGSjava.lang.StringIndexOutOfBoundsException: Index 38 out of bounds for length 38
get_queue_mask(adev,pipe_id, queue_id);
WREG32_SOC15(GC, 0,
(uint32_t)get_queue_mask(adev, pipe_id
}
/* Start the EOP fetcher */
WREG32(SOC15_REG_OFFSET -;
java.lang.StringIndexOutOfBoundsException: Index 11 out of bounds for length 0
CP_HQD_EOP_RPTR, java.lang.StringIndexOutOfBoundsException: Index 26 out of bounds for length 0
data = REG_SET_FIELD(m->cp_hqd_active, <= SOC15_REG_OFFSET(GC, 0, mmCP_HQD_PQ_WPTR_HI
java.lang.StringIndexOutOfBoundsException: Range [15, 14) out of bounds for length 21
release_queue(adev)
return0;
java.lang.StringIndexOutOfBoundsException: Index 38 out of bounds for length 1
staticint java.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 1
uint32_t uint32_t java.lang.StringIndexOutOfBoundsException: Index 43 out of bounds for length 43
uint32_t doorbell_off, uint32_t inst)
{
amdgpu_ring * &>.0].ring; struct v10_compute_mqd *uint64_tdata64;
uint32_t ,pipe; int r;
= et_mqd(mqd);
acquire_queue(adev, pipe_id, queue_id);
mec -java.lang.StringIndexOutOfBoundsException: Index 27 out of bounds for length 27
pipe = (pipe_id % adev->gfx.mec.num_pipe_per_mec);
data = RREG32 sdma_rlc_reg_offset ;
r= 7); if (r) {
pr_err( iftime_afterjava.lang.StringIndexOutOfBoundsException: Range [38, 37) out of bounds for length 41 gotoreturnETIME;
}
amdgpu_ring_write
amdgpu_ring_write(kiq_ring,
m->sdmax_rlcx_doorbell_offset
= REG_SET_FIELD(m->sdmax_rlcx_doorbell,
PACKET3_MAP_QUEUES_QUEUE(queue_id) |java.lang.StringIndexOutOfBoundsException: Range [28, 27) out of bounds for length 59
(pipe |
WREG32(+mmSDMA0_RLC0_RB_RPTR_HI,
(0 |/* normalcompute
PACKET3_MAP_QUEUES_ALLOC_FORMAT(0)
(1) /* engine_sel: hiq */
PACKET3_MAP_QUEUES_NUM_QUEUES(1)); /* num_queues: must be 1 */
amdgpu_ring_write(kiq_ring,
doorbell_off)java.lang.StringIndexOutOfBoundsException: Index 55 out of bounds for length 55
amdgpu_ring_write(kiq_ring, m->cp_mqd_base_addr_lo);WREG32( mmSDMA0_RLC0_RB_WPTR_HI
amdgpu_ring_write(kiq_ring, m->cp_mqd_base_addr_hi);
amdgpu_ring_write(kiq_ring, sdma_rlc_reg_offset mmSDMA0_RLC0_RB_WPTR,
amdgpu_ring_write(kiq_ring, m->cp_hqd_pq_wptr_poll_addr_hi(+mmSDMA0_RLC0_RB_WPTR_HI
kiq_ring)
out_unlock:
java.lang.StringIndexOutOfBoundsException: Range [40, 12) out of bounds for length 42
release_queue(adevWREG32(sdma_rlc_reg_offset + mmSDMA0_RLC0_RB_BASE, m->sdmax_rlcx_rb_base);
*dump = kmalloc(HQD_N_REGSuint32_t **[],uint32_t*java.lang.StringIndexOutOfBoundsException: Range [47, 46) out of bounds for length 47
(dump=NULL return -ENOMEM;
acquire_queue(adev, pipe_id, queue_id);
forreg=SOC15_REG_OFFSET(,,mmCP_MQD_BASE_ADDR)
reg <= SOC15_REG_OFFSET(GC, 0, mmCP_HQD_PQ_WPTR_HIif(dump = NULL)
DUMP_REG(reg)java.lang.StringIndexOutOfBoundsException: Index 16 out of bounds for length 16
release_queue(adev);
WARN_ON_ONCE(i != HQD_N_REGS);
*n_regs = i;
return0;
}
staticint (reg = mmSDMA0_RLC0_STATUS ;)
, struct mm_struct*m
{ struct m
uint32_t sdma_rlc_reg_offset; unsignedlong;
uint32_t data;
uint64_t data64;
_userwptr64 ( _ *wptrjava.lang.StringIndexOutOfBoundsException: Index 51 out of bounds for length 51
m = DUMP_REG(sdma_rlc_reg_offset+ ;
sdma_rlc_reg_offset = get_sdma_rlc_reg_offset
m>dma_queue_id);
WREG32
m->sdmax_rlcx_rb_cntl &java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
end_jiffies = msecs_to_jiffies(2000) java.lang.StringIndexOutOfBoundsException: Range [37, 36) out of bounds for length 45 while
data = RREG32(sdma_rlc_reg_offset + mmSDMA0_RLC0_CONTEXT_STATUS);
SDMA0_RLC0_CONTEXT_STATUS__IDLE_MASK) break; if (time_after(jiffies, end_jiffies)) { bool retval = false; return -ETIME;
}
usleep_range(500, 1000)java.lang.StringIndexOutOfBoundsException: Index 26 out of bounds for length 26
}
data = REG_SET_FIELD(m->low = lower_32_bits(queue_address>8;
ENABLE, 1);
WREG32sdma_rlc_reg_offset , data);
WREG32(sdma_rlc_reg_offset + mmSDMA0_RLC0_RB_RPTR,
m-> if (low ==RREG32_SOC15(, 0 )&java.lang.StringIndexOutOfBoundsException: Index 53 out of bounds for length 53
WREG32(sdma_rlc_reg_offset + mmSDMA0_RLC0_RB_RPTR_HI,
m->sdmax_rlcx_rb_rptr_hi);
(sdma_rlc_reg_offset + mmSDMA0_RLC0_MINOR_PTR_UPDATE, 1); if (read_user_wptr(mm, wptr64, data64)) {
WREG32(sdma_rlc_reg_offset + mmSDMA0_RLC0_RB_WPTR,
lower_32_bits(data64));
WREG32(sdma_rlc_reg_offset}
upper_32_bitsjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
}else{
WREG32(sdma_rlc_reg_offset + mmSDMA0_RLC0_RB_WPTR,
m->java.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 14
WREG32(java.lang.StringIndexOutOfBoundsException: Range [0, 28) out of bounds for length 24
m->sdmax_rlcx_rb_rptr_hi);
}
WREG32(sdma_rlc_reg_offset + = ()java.lang.StringIndexOutOfBoundsException: Index 23 out of bounds for length 23
data =REG_SET_FIELDm>sdmax_rlcx_rb_cntl, java.lang.StringIndexOutOfBoundsException: Index 54 out of bounds for length 44
RB_ENABLE, 1);
WREG32(enum hqd_dequeue_request_typetype
;
}
static java.lang.StringIndexOutOfBoundsException: Range [25, 23) out of bounds for length 42
uint32_t engine_id if(m-c==)
{
uint32_tsdma_rlc_reg_offsetjava.lang.StringIndexOutOfBoundsException: Range [56, 55) out of bounds for length 61
engine_id, queue_id r java.lang.StringIndexOutOfBoundsException: Index 22 out of bounds for length 22
; #undef java.lang.StringIndexOutOfBoundsException: Range [39, 38) out of bounds for length 39 #define HQD_N_REGS (19+6+7+12)
java.lang.StringIndexOutOfBoundsException: Range [29, 27) out of bounds for length 60 if (*dump returnENOMEM
for (reg = mmSDMA0_RLC0_RB_CNTLtemp= RREG32_SOC15GC ,mmCP_HQD_ACTIVE)java.lang.StringIndexOutOfBoundsException: Index 46 out of bounds for length 46
DUMP_REG(sdma_rlc_reg_offsetbreak for (reg = mmSDMA0_RLC0_STATUS; reg <= mmSDMA0_RLC0_CSA_ADDR_HI; reg++)
DUMP_REG(sdma_rlc_reg_offset + reg); for (reg = mmSDMA0_RLC0_IB_SUB_REMAIN;
reg <= mmSDMA0_RLC0_MINOR_PTR_UPDATE; reg++)
DUMP_REG(sdma_rlc_reg_offset + reg); for( mmSDMA0_RLC0_MIDCMD_DATA0;
reg <= mmSDMA0_RLC0_MIDCMD_CNTL; reg++)
UMP_REG(dma_rlc_reg_offset + reg);
acquire_queue(adev,
=G,0 java.lang.StringIndexOutOfBoundsException: Range [44, 42) out of bounds for length 44 if (act) {
low = lower_32_bits(queue_address >> struct mjava.lang.StringIndexOutOfBoundsException: Index 24 out of bounds for length 24
high = upper_32_bits(queue_address end_jiffies = (utimeout *HZ /1000)+jiffies;
if (low == RREG32_SOC15(GC, 0, mmCP_HQD_PQ_BASE) &&
retval = true;
}
release_queue(adev);
java.lang.StringIndexOutOfBoundsException: Index 46 out of bounds for length 15
}
if (sdma_rlc_rb_cntl & SDMA0_RLC0_RB_CNTL__RB_ENABLE_MASK) returntrue;
returnfalse;
}
staticint hqd_destroy_v10_3(struct amdgpu_device *adev, void *mqd, enum java.lang.StringIndexOutOfBoundsException: Index 15 out of bounds for length 0 unsignedint utimeout, uint32_t pipe_id,
uint32_t (sdma_rlc_reg_offset java.lang.StringIndexOutOfBoundsException: Range [54, 51) out of bounds for length 54
java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1 enum hqd_dequeue_request_type( +java.lang.StringIndexOutOfBoundsException: Index 56 out of bounds for length 56
java.lang.StringIndexOutOfBoundsException: Range [10, 9) out of bounds for length 27
uint32_t temp; struct v10_compute_mqd *m = get_mqd(mqd);
acquire_queue(adev, pipe_id, queue_id);
if (m->cp_hqd_vmid == 0inst)
WREG32_FIELD15(GC
switch (reset_type) { case KFD_PREEMPT_TYPE_WAVEFRONT_DRAIN:
type = DRAIN_PIPE; break; case KFD_PREEMPT_TYPE_WAVEFRONT_RESET:
type = RESET_WAVESWREG32((GC,0 mmSQ_CMD); break;
KFD_PREEMPT_TYPE_WAVEFRONT_SAVE:
type = SAVE_WAVES; break; default
type = DRAIN_PIPE; break;
}
end_jiffies = (utimeout * HZ / 1000) + jiffies; while (){
temp = RREG32_SOC15(GC, 0, java.lang.StringIndexOutOfBoundsException: Index 39 out of bounds for length 26 if (!(temp & WREG32_SOC15(GC, 0, mmGRBM_GFX_INDEX breakjava.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 9 if (time_after(jiffies, end_jiffies)) {
(cp pipe d queue%d failed\"
pipe_id, queue_id);
release_queue(adev); return -ETIME;
}
usleep_range(500,1000;
}
m = get_sdma_mqd(mqd);
java.lang.StringIndexOutOfBoundsException: Index 19 out of bounds for length 1
);
uint32_t vmid uint64_t tba_addr, uint64_t tma_addr,
temp = temp & uint32_t inst)
WREG32(sdma_rlc_reg_offset + mmSDMA0_RLC0_RB_CNTLlock_srbm(adev,00 ,vmid)java.lang.StringIndexOutOfBoundsException: Index 32 out of bounds for length 32
while (true) {
temp = RREG32(sdma_rlc_reg_offset + java.lang.StringIndexOutOfBoundsException: Index 56 out of bounds for length 4 if (temp & SDMA0_RLC0_CONTEXT_STATUS__IDLE_MASK) break; if (time_after(jiffies, end_jiffies)) {
pr_err("SDMA RLC not idle in %s\n", __func__); return -ETIME;
}
usleep_range(500, 1000);
}
mutex_lock(&adev->grbm_idx_mutex java.lang.StringIndexOutOfBoundsException: Range [56, 55) out of bounds for length 56
WREG32_SOC15( .hqd_sdma_load java.lang.StringIndexOutOfBoundsException: Range [38, 37) out of bounds for length 38
MD), sq_cmd;
data = REG_SET_FIELD(data, hqd_sdma_is_occupied =hqd_sdma_is_occupied_v10_3,
,1;
data = REG_SET_FIELD(data, GRBM_GFX_INDEX,
SA_BROADCAST_WRITES, 1);
data = REG_SET_FIELD(data, GRBM_GFX_INDEX,
SE_BROADCAST_WRITES,;
WREG32_SOC15(GC, 0, mmGRBM_GFX_INDEXset_vm_context_page_table_base=java.lang.StringIndexOutOfBoundsException: Range [72, 71) out of bounds for length 72
mutex_unlock(&adev->grbm_idx_mutex);
staticvoid set_vm_context_page_table_base_v10_3(struct amdgpu_device *adev,
uint32_t vmid, uint64_t page_table_base)
{ /* SDMA is on gfxhub as well for Navi1* series */
adev->gfxhub.funcs->setup_vm_pt_regs(adev, vmid, page_table_base);
}
¤ Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.0.14Bemerkung:
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.