From b5f3efd0c52c056e8b77f04b30acde7e346c823d Mon Sep 17 00:00:00 2001 From: Kumonda221 Date: Wed, 10 Sep 2025 11:10:52 +0800 Subject: [PATCH 01/18] feat(CAgent): support for L2 way persistence escalation in L1 --- main/PortGen/portgen_static.cpp | 2 ++ main/TLAgent/Bundle.h | 2 ++ main/TLAgent/CAgent.cpp | 19 ++++++++++++++++++- main/TLAgent/CAgent.h | 1 + 4 files changed, 23 insertions(+), 1 deletion(-) diff --git a/main/PortGen/portgen_static.cpp b/main/PortGen/portgen_static.cpp index a7928c5..601a060 100755 --- a/main/PortGen/portgen_static.cpp +++ b/main/PortGen/portgen_static.cpp @@ -211,6 +211,7 @@ namespace V3::PortGen { PullMasterPort(i, "c_bits_size" , "c.size"); PullMasterPort(i, "c_bits_source" , "c.source"); PullMasterPort(i, "c_bits_address" , "c.address"); + PullMasterPort(i, "c_bits_user_way" , "c.way"); cpp_file.Append(" verilated->", GenerateMasterPortName(i, "c_bits_user_alias"), " = 0;").EndLine(); cpp_file.Append(" std::memcpy(", "verilated->", GenerateMasterPortName(i, "c_bits_data"), ", ", @@ -245,6 +246,7 @@ namespace V3::PortGen { PushMasterPort(i, "d.source" , "d_bits_source"); PushMasterPort(i, "d.sink" , "d_bits_sink"); PushMasterPort(i, "d.denied" , "d_bits_denied"); + PushMasterPort(i, "d.way" , "d_bits_user_way"); cpp_file.Append(" std::memcpy(", "port->d.data->data, ", "verilated->", GenerateMasterPortName(i, "d_bits_data"), ", ", diff --git a/main/TLAgent/Bundle.h b/main/TLAgent/Bundle.h index aed1620..35d1c3e 100755 --- a/main/TLAgent/Bundle.h +++ b/main/TLAgent/Bundle.h @@ -71,6 +71,7 @@ namespace tl_agent { uint8_t needHint; paddr_t vaddr; uint8_t alias; + uint8_t way; }; template @@ -87,6 +88,7 @@ namespace tl_agent { uint8_t dirty; shared_tldata_t data; uint8_t corrupt; + uint8_t way; }; class BundleChannelE : public DecoupledBundle { diff --git a/main/TLAgent/CAgent.cpp b/main/TLAgent/CAgent.cpp index 57ed494..3e73734 100755 --- a/main/TLAgent/CAgent.cpp +++ b/main/TLAgent/CAgent.cpp @@ -572,6 +572,7 @@ namespace tl_agent { } else { entry->update_status(this, S_SENDING_C, c->alias); } + c->way = entry->way; } else { tlc_assert(false, this, "Localboard key not found!"); } @@ -613,6 +614,7 @@ namespace tl_agent { } else { entry->update_status(this, S_SENDING_C, c->alias); } + c->way = entry->way; } else { tlc_assert(false, this, "Localboard key not found!"); } @@ -726,6 +728,7 @@ namespace tl_agent { this->port->c.source = c->source; this->port->c.alias = 0; // this->port->c.dirty = c->dirty; + this->port->c.way = c->way; this->port->c.valid = true; return OK; } @@ -953,6 +956,7 @@ namespace tl_agent { .Append("source: ", uint64_t(chnC.source)) .Append(", addr: ", uint64_t(chnC.address)) .Append(", alias: ", uint64_t(chnC.alias)) + .Append(", way: ", uint64_t(chnC.way)) .EndLine()); } inflightTimeStampsC[chnC.address] = { .time = cycle(), .opcode = TLOpcodeC::Release }; @@ -968,6 +972,7 @@ namespace tl_agent { .Append("source: ", uint64_t(chnC.source)) .Append(", addr: ", uint64_t(chnC.address)) .Append(", alias: ", uint64_t(chnC.alias)) + .Append(", way: ", uint64_t(chnC.way)) .Append(", data: ")); LogEx(data_dump_embedded(chnC.data->data)); LogEx(std::cout << std::endl); @@ -1146,6 +1151,7 @@ namespace tl_agent { auto addr = idMap->query(this, chnD.source)->address; auto alias = idMap->query(this, chnD.source)->alias; + auto way = chnD.way; uint64_t latency; @@ -1159,6 +1165,7 @@ namespace tl_agent { .Append("source: ", uint64_t(chnD.source)) .Append(", addr: ", uint64_t(addr)) .Append(", alias: ", uint64_t(alias)) + .Append(", way: ", uint64_t(way)) .EndLine()); } } @@ -1172,6 +1179,7 @@ namespace tl_agent { .Append("source: ", uint64_t(chnD.source)) .Append(", addr: ", uint64_t(addr)) .Append(", alias: ", uint64_t(alias)) + .Append(", way: ", uint64_t(way)) .Append(", data: ")); LogEx(data_dump_embedded(chnD.data->data)); LogEx(std::cout << std::endl); @@ -1435,6 +1443,7 @@ namespace tl_agent { tlc_assert(chnD.opcode == pendingD.info->opcode, this, "Opcode mismatch among beats!"); tlc_assert(chnD.param == pendingD.info->param, this, "Param mismatch among beats!"); tlc_assert(chnD.source == pendingD.info->source, this, "Source mismatch among beats!"); + tlc_assert(chnD.way == pendingD.info->way, this, "Way mismatch among beats!"); pendingD.update(this); } else { // new D resp auto resp_d = std::make_shared>(); @@ -1442,6 +1451,7 @@ namespace tl_agent { resp_d->param = chnD.param; resp_d->source = chnD.source; resp_d->data = grant ? make_shared_tldata() : nullptr; + resp_d->way = chnD.way; int nr_beat = TLEnumEquals(chnD.opcode, TLOpcodeD::Grant, TLOpcodeD::ReleaseAck) ? 0 : 1; // TODO: parameterize it pendingD.init(resp_d, nr_beat); } @@ -1470,13 +1480,15 @@ namespace tl_agent { .Append(" at ", addr) .ToString()); + info->way = way; + latency = map_latency(addr); if (glbl.cfg.verbose_xact_data_complete) { Log(this, Append("[data complete D] [GrantData ", GrantDataParamToString(TLParamGrantData(chnD.param)), "] ") - .Hex().ShowBase().Append("source: ", uint64_t(chnD.source), ", addr: ", addr, ", alias: ", alias, ", data: ")); + .Hex().ShowBase().Append("source: ", uint64_t(chnD.source), ", addr: ", addr, ", alias: ", alias, ", way: ", uint64_t(way), ", data: ")); LogEx(data_dump_embedded(pendingD.info->data->data)); LogEx(std::cout << std::endl); @@ -1510,6 +1522,9 @@ namespace tl_agent { .Append("Grant not expected on ", StatusToString(exact_status)) .Append(" at ", addr) .ToString()); + + info->way = way; + // Always set dirty in AcquirePerm toT txns info->update_dirty(this, true, alias); @@ -1867,6 +1882,7 @@ namespace tl_agent { #else req_c->needHint = 0; #endif + req_c->way = entry->way; pendingC.init(req_c, DATASIZE / BEATSIZE); if (glbl.cfg.verbose_xact_sequenced) @@ -1974,6 +1990,7 @@ namespace tl_agent { req_c->opcode = uint8_t(TLOpcodeC::Release); req_c->param = uint8_t(TLParamRelease(param)); req_c->data = make_shared_tldata_zero(); + req_c->way = entry->way; if (glbl.cfg.verbose_agent_debug) { diff --git a/main/TLAgent/CAgent.h b/main/TLAgent/CAgent.h index dd38243..c7582dc 100755 --- a/main/TLAgent/CAgent.h +++ b/main/TLAgent/CAgent.h @@ -41,6 +41,7 @@ namespace tl_agent { TLPermission privilege[4]; TLPermission pending_privilege[4]; int dirty[4]; + uint8_t way; inline C_SBEntry(const TLLocalContext* ctx, const int status[], const TLPermission privilege[]) { From 694ca23fb6626de272303f680639ab579b5a91f2 Mon Sep 17 00:00:00 2001 From: Kumonda221 Date: Wed, 10 Sep 2025 11:11:24 +0800 Subject: [PATCH 02/18] submodule(CoupledL2): bump CoupledL2 --- dut/CoupledL2 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dut/CoupledL2 b/dut/CoupledL2 index 800bb00..541c5b5 160000 --- a/dut/CoupledL2 +++ b/dut/CoupledL2 @@ -1 +1 @@ -Subproject commit 800bb00c894bae89951412cec02d02ea49d7f90f +Subproject commit 541c5b5688572d8ae4fb071f12bfc38a78a1b056 From 3e199a6b80b1a52e1bff3d29d328fc8a878fda91 Mon Sep 17 00:00:00 2001 From: Kumonda221 Date: Wed, 10 Sep 2025 11:11:42 +0800 Subject: [PATCH 03/18] submodule(OpenLLC): bump OpenLLC --- dut/OpenLLC | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dut/OpenLLC b/dut/OpenLLC index d27d1f9..82adaf4 160000 --- a/dut/OpenLLC +++ b/dut/OpenLLC @@ -1 +1 @@ -Subproject commit d27d1f99809b728f2745318eef937961c587f6a4 +Subproject commit 82adaf4821a24367410ab504605d20830c0e95a6 From 00e4bf773d7bdfd58332fec4f0fbac89a276d434 Mon Sep 17 00:00:00 2001 From: Kumonda221 Date: Wed, 10 Sep 2025 17:01:05 +0800 Subject: [PATCH 04/18] feat(DPI): support for 'way' field --- main/DPI/coupledL2_dpi.svh | 10 ++++++++++ main/DPI/tilelink_dpi.cpp | 8 ++++++++ main/DPI/tilelink_dpi.hpp | 3 +++ main/TLAgent/Bundle.h | 1 + 4 files changed, 22 insertions(+) diff --git a/main/DPI/coupledL2_dpi.svh b/main/DPI/coupledL2_dpi.svh index c9f6982..eb48c87 100755 --- a/main/DPI/coupledL2_dpi.svh +++ b/main/DPI/coupledL2_dpi.svh @@ -87,6 +87,7 @@ import "DPI-C" function void TileLinkPullChannelA ( output byte user_needHint, output longint user_vaddr, output byte user_alias, + output byte user_way, output int mask, output longint data0, output longint data1, @@ -107,6 +108,7 @@ function void SvTileLinkPullChannelA ( output logic user_needHint, output logic [35:0] user_vaddr, output logic [1:0] user_alias, + output logic [3:0] user_way, output logic [31:0] mask, output logic [255:0] data, output logic corrupt @@ -125,6 +127,7 @@ function void SvTileLinkPullChannelA ( user_needHint, user_vaddr, user_alias, + user_way, mask, data[63:0], data[127:64], @@ -268,6 +271,7 @@ import "DPI-C" function void TileLinkPullChannelC ( output byte user_needHint, output longint user_vaddr, output byte user_alias, + output byte user_way, output longint data0, output longint data1, output longint data2, @@ -287,6 +291,7 @@ function void SvTileLinkPullChannelC ( output logic user_needHint, output logic [35:0] user_vaddr, output logic [1:0] user_alias, + output logic [3:0] user_way, output logic [255:0] data, output logic corrupt ); @@ -304,6 +309,7 @@ function void SvTileLinkPullChannelC ( user_needHint, user_vaddr, user_alias, + user_way, data[63:0], data[127:64], data[191:128], @@ -327,6 +333,7 @@ import "DPI-C" function void TileLinkPushChannelD ( input byte size, input longint source, input longint sink, + input byte user_way, input byte denied, input longint data0, input longint data1, @@ -344,6 +351,7 @@ function void SvTileLinkPushChannelD ( input logic [2:0] size, input logic [63:0] source, input logic [63:0] sink, + input logic [3:0] user_way, input logic denied, input logic [255:0] data, input logic corrupt @@ -356,6 +364,7 @@ function void SvTileLinkPushChannelD ( guard_size: assert (!resetn || !valid || !$isunknown(size )) else $fatal("TileLinkPushChannelD: 'size' is unknown"); guard_source: assert (!resetn || !valid || !$isunknown(source )) else $fatal("TileLinkPushChannelD: 'source' is unknown"); guard_sink: assert (!resetn || !valid || !$isunknown(sink )) else $fatal("TileLinkPushChannelD: 'sink' is unknown"); + guard_user_way: assert (!resetn || !valid || !$isunknown(user_way )) else $fatal("TileLinkPushChannelD: 'user_way' is unknown"); guard_denied: assert (!resetn || !valid || !$isunknown(denied )) else $fatal("TileLinkPushChannelD: 'denied' is unknown"); /* @@ -390,6 +399,7 @@ function void SvTileLinkPushChannelD ( size, source, sink, + user_way, denied, data[63:0], data[127:64], diff --git a/main/DPI/tilelink_dpi.cpp b/main/DPI/tilelink_dpi.cpp index a6b43ac..a6fc4e4 100755 --- a/main/DPI/tilelink_dpi.cpp +++ b/main/DPI/tilelink_dpi.cpp @@ -135,6 +135,7 @@ extern "C" void TileLinkPullChannelA( uint8_t* user_needHint, uint64_t* user_vaddr, uint8_t* user_alias, + uint8_t* user_way, uint32_t* mask, uint64_t* data0, uint64_t* data1, @@ -153,6 +154,7 @@ extern "C" void TileLinkPullChannelA( *user_needHint = 0; *user_vaddr = 0; *user_alias = 0; + *user_way = 0; *mask = 0; *data0 = 0; *data1 = 0; @@ -173,6 +175,7 @@ extern "C" void TileLinkPullChannelA( *user_needHint = port.a.needHint; *user_vaddr = port.a.vaddr; *user_alias = port.a.alias; + *user_way = port.a.way; *mask = port.a.mask; *data0 = (uint64_t(port.a.data->data[0])) | (uint64_t(port.a.data->data[1]) << 8) @@ -283,6 +286,7 @@ extern "C" void TileLinkPullChannelC( uint8_t* user_needHint, uint64_t* user_vaddr, uint8_t* user_alias, + uint8_t* user_way, uint64_t* data0, uint64_t* data1, uint64_t* data2, @@ -300,6 +304,7 @@ extern "C" void TileLinkPullChannelC( *user_needHint = 0; *user_vaddr = 0; *user_alias = 0; + *user_way = 0; *data0 = 0; *data1 = 0; *data2 = 0; @@ -318,6 +323,7 @@ extern "C" void TileLinkPullChannelC( *user_needHint = port.c.needHint; *user_vaddr = port.c.vaddr; *user_alias = 0; + *user_way = port.c.way; *data0 = (uint64_t(port.c.data->data[0])) | (uint64_t(port.c.data->data[1]) << 8) | (uint64_t(port.c.data->data[2]) << 16) @@ -366,6 +372,7 @@ extern "C" void TileLinkPushChannelD( const uint8_t size, const uint64_t source, const uint64_t sink, + const uint8_t user_way, const uint8_t denied, const uint64_t data0, const uint64_t data1, @@ -383,6 +390,7 @@ extern "C" void TileLinkPushChannelD( port.d.size = size; port.d.source = source; port.d.sink = sink; + port.d.way = user_way; port.d.denied = denied; port.d.data->data[0] = data0 & 0xFF; port.d.data->data[1] = (data0 >> 8) & 0xFF; diff --git a/main/DPI/tilelink_dpi.hpp b/main/DPI/tilelink_dpi.hpp index 2c4420c..59276b2 100755 --- a/main/DPI/tilelink_dpi.hpp +++ b/main/DPI/tilelink_dpi.hpp @@ -62,6 +62,7 @@ extern "C" void TileLinkPullChannelA( uint8_t* user_needHint, uint64_t* user_vaddr, uint8_t* user_alias, + uint8_t* user_way, uint32_t* mask, uint64_t* data0, uint64_t* data1, @@ -113,6 +114,7 @@ extern "C" void TileLinkPullChannelC( uint8_t* user_needHint, uint64_t* user_vaddr, uint8_t* user_alias, + uint8_t* user_way, uint64_t* data0, uint64_t* data1, uint64_t* data2, @@ -132,6 +134,7 @@ extern "C" void TileLinkPushChannelD( const uint8_t size, const uint64_t source, const uint64_t sink, + const uint8_t user_way, const uint8_t denied, const uint64_t data0, const uint64_t data1, diff --git a/main/TLAgent/Bundle.h b/main/TLAgent/Bundle.h index 35d1c3e..6c44336 100755 --- a/main/TLAgent/Bundle.h +++ b/main/TLAgent/Bundle.h @@ -41,6 +41,7 @@ namespace tl_agent { uint8_t needHint; paddr_t vaddr; uint8_t alias; + uint8_t way; }; class BundleChannelB : public DecoupledBundle { From 310caac803ffb5c302c34717b4793bf4d378c1a3 Mon Sep 17 00:00:00 2001 From: Kumonda221 Date: Thu, 11 Sep 2025 23:04:22 +0800 Subject: [PATCH 05/18] feat(DPI): expose 'way' on DPI interface --- configs/user.tltest.ini | 1 + main/Base/TLLocal.hpp | 1 + main/DPI/coupledL2_dpi.svh | 4 ++-- main/System/TLSystem.cpp | 2 ++ main/TLAgent/CAgent.cpp | 9 +++++++++ main/Utils/TLDefault.h | 4 ++++ 6 files changed, 19 insertions(+), 2 deletions(-) diff --git a/configs/user.tltest.ini b/configs/user.tltest.ini index aded558..2a56d72 100644 --- a/configs/user.tltest.ini +++ b/configs/user.tltest.ini @@ -2,6 +2,7 @@ # core # core.tl_c # core.tl_ul +core.way = 4 maximum_cycle = 0 memory.enable = 1 memory.start = 0x00000000 diff --git a/main/Base/TLLocal.hpp b/main/Base/TLLocal.hpp index 09af3bf..daf3311 100755 --- a/main/Base/TLLocal.hpp +++ b/main/Base/TLLocal.hpp @@ -50,6 +50,7 @@ struct TLLocalConfig { unsigned int coreCount; // L1-L2 system count unsigned int masterCountPerCoreTLC; // TL-C master count per core unsigned int masterCountPerCoreTLUL; // TL-UL master count per core + unsigned int masterCountWay; // L2 way count std::unordered_map sequenceModes; // Agent sequence modes diff --git a/main/DPI/coupledL2_dpi.svh b/main/DPI/coupledL2_dpi.svh index eb48c87..d1b041a 100755 --- a/main/DPI/coupledL2_dpi.svh +++ b/main/DPI/coupledL2_dpi.svh @@ -364,7 +364,7 @@ function void SvTileLinkPushChannelD ( guard_size: assert (!resetn || !valid || !$isunknown(size )) else $fatal("TileLinkPushChannelD: 'size' is unknown"); guard_source: assert (!resetn || !valid || !$isunknown(source )) else $fatal("TileLinkPushChannelD: 'source' is unknown"); guard_sink: assert (!resetn || !valid || !$isunknown(sink )) else $fatal("TileLinkPushChannelD: 'sink' is unknown"); - guard_user_way: assert (!resetn || !valid || !$isunknown(user_way )) else $fatal("TileLinkPushChannelD: 'user_way' is unknown"); +// guard_user_way: assert (!resetn || !valid || !$isunknown(user_way )) else $fatal("TileLinkPushChannelD: 'user_way' is unknown"); guard_denied: assert (!resetn || !valid || !$isunknown(denied )) else $fatal("TileLinkPushChannelD: 'denied' is unknown"); /* @@ -399,7 +399,7 @@ function void SvTileLinkPushChannelD ( size, source, sink, - user_way, + $isunknown(user_way) ? 'hFF : user_way, denied, data[63:0], data[127:64], diff --git a/main/System/TLSystem.cpp b/main/System/TLSystem.cpp index 2655379..681eaf8 100755 --- a/main/System/TLSystem.cpp +++ b/main/System/TLSystem.cpp @@ -50,6 +50,7 @@ void TLInitialize(TLSequencer** tltest, PluginManager** plugins, std::function= cfg->masterCountWay) + { + Log(this, Hex().ShowBase().Append("Invalid 'way' value, way: ", way).EndLine()); + if (way == 0xFF) + Log(this, Append("0xFF captured, considering checking X-state propagation on 'way'.\n")); + tlc_assert(false, this, + "'way' on channel D is invalid or out of range, consider checking X-state propagation"); + } + auto info = localBoard->query(this, addr); auto exact_status = info->status[alias]; if (exact_status == S_A_WAITING_D_NESTED_SENDING_C) { diff --git a/main/Utils/TLDefault.h b/main/Utils/TLDefault.h index 23f361c..34d477f 100755 --- a/main/Utils/TLDefault.h +++ b/main/Utils/TLDefault.h @@ -22,6 +22,10 @@ # define TLTEST_DEFAULT_MASTER_COUNT_PER_CORE_TLUL 0 #endif +#ifndef TLTEST_DEFAULT_MASTER_COUNT_WAY +# define TLTEST_DEFAULT_MASTER_COUNT_WAY 4 +#endif + #ifndef TLTEST_DEFAULT_STARTUP_CYCLE # define TLTEST_DEFAULT_STARTUP_CYCLE 100 From 67a65a52196ad30dea9fc0e10a9c08f9b1e29259 Mon Sep 17 00:00:00 2001 From: Kumonda221 Date: Wed, 17 Sep 2025 12:16:37 +0800 Subject: [PATCH 06/18] submodule(CoupledL2): bump CoupledL2 --- dut/CoupledL2 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dut/CoupledL2 b/dut/CoupledL2 index 541c5b5..1b27eea 160000 --- a/dut/CoupledL2 +++ b/dut/CoupledL2 @@ -1 +1 @@ -Subproject commit 541c5b5688572d8ae4fb071f12bfc38a78a1b056 +Subproject commit 1b27eea912197e24dace4dbbdc5ed12f80e6bf5f From 0173a1f7af1f46c379a68aa03c3f9d26e64d8e6d Mon Sep 17 00:00:00 2001 From: Kumonda221 Date: Wed, 17 Sep 2025 17:49:18 +0800 Subject: [PATCH 07/18] submodule(CoupledL2): bump CoupledL2 --- dut/CoupledL2 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dut/CoupledL2 b/dut/CoupledL2 index 1b27eea..01db043 160000 --- a/dut/CoupledL2 +++ b/dut/CoupledL2 @@ -1 +1 @@ -Subproject commit 1b27eea912197e24dace4dbbdc5ed12f80e6bf5f +Subproject commit 01db043993713e980e290ba6b8d38cca2eba330f From e766b283bd40ee74994194a3b4be8c4c6ecc3b5c Mon Sep 17 00:00:00 2001 From: Kumonda221 Date: Thu, 18 Sep 2025 15:20:39 +0800 Subject: [PATCH 08/18] submodule(CoupledL2): bump CoupledL2 --- dut/CoupledL2 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dut/CoupledL2 b/dut/CoupledL2 index 01db043..21c44ff 160000 --- a/dut/CoupledL2 +++ b/dut/CoupledL2 @@ -1 +1 @@ -Subproject commit 01db043993713e980e290ba6b8d38cca2eba330f +Subproject commit 21c44ffaa3342086e9e88278e4ea63b3400d860f From c587c678b946fea1c4c07aea042b305029ec1fed Mon Sep 17 00:00:00 2001 From: Kumonda221 Date: Thu, 18 Sep 2025 17:12:45 +0800 Subject: [PATCH 09/18] submodule(OpenLLC): bump OpenLLC --- dut/OpenLLC | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dut/OpenLLC b/dut/OpenLLC index 82adaf4..af73800 160000 --- a/dut/OpenLLC +++ b/dut/OpenLLC @@ -1 +1 @@ -Subproject commit 82adaf4821a24367410ab504605d20830c0e95a6 +Subproject commit af73800c6b7260c1ac0302a8127c1d93fd6cdebe From 3c20649bc8f62fffbdfc12e00c9b513d91cb9254 Mon Sep 17 00:00:00 2001 From: Kumonda221 Date: Wed, 24 Sep 2025 15:59:43 +0800 Subject: [PATCH 10/18] submodule(CoupledL2): bump CoupledL2 --- dut/CoupledL2 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dut/CoupledL2 b/dut/CoupledL2 index 21c44ff..59ccab9 160000 --- a/dut/CoupledL2 +++ b/dut/CoupledL2 @@ -1 +1 @@ -Subproject commit 21c44ffaa3342086e9e88278e4ea63b3400d860f +Subproject commit 59ccab94991fc89bb01f77b24e2845380ca9e3b5 From c6d2b7712f386a3438b53c7b0405fcc65538c24c Mon Sep 17 00:00:00 2001 From: Kumonda221 Date: Wed, 24 Sep 2025 16:00:31 +0800 Subject: [PATCH 11/18] submodule(OpenLLC): bump OpenLLC --- dut/OpenLLC | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dut/OpenLLC b/dut/OpenLLC index af73800..63dcb52 160000 --- a/dut/OpenLLC +++ b/dut/OpenLLC @@ -1 +1 @@ -Subproject commit af73800c6b7260c1ac0302a8127c1d93fd6cdebe +Subproject commit 63dcb528c5b06967069df800a9d032df07d87b41 From e01f425eff0fa5391c4778db547b53d5e0827a37 Mon Sep 17 00:00:00 2001 From: Kumonda221 Date: Sun, 28 Sep 2025 16:32:18 +0800 Subject: [PATCH 12/18] submodule(CoupledL2, OpenLLC): bump CoupledL2 and OpenLLC --- dut/CoupledL2 | 2 +- dut/OpenLLC | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/dut/CoupledL2 b/dut/CoupledL2 index 59ccab9..7aa6ed2 160000 --- a/dut/CoupledL2 +++ b/dut/CoupledL2 @@ -1 +1 @@ -Subproject commit 59ccab94991fc89bb01f77b24e2845380ca9e3b5 +Subproject commit 7aa6ed2f3b23528677cc94b65e8f819752de923e diff --git a/dut/OpenLLC b/dut/OpenLLC index 63dcb52..a9ad873 160000 --- a/dut/OpenLLC +++ b/dut/OpenLLC @@ -1 +1 @@ -Subproject commit 63dcb528c5b06967069df800a9d032df07d87b41 +Subproject commit a9ad873a6fe0940b7db1dbb998b992469d551a5d From 8b27640858f58bfa538b49d1f644ac3a2e07e054 Mon Sep 17 00:00:00 2001 From: Kumonda221 Date: Mon, 29 Sep 2025 17:57:42 +0800 Subject: [PATCH 13/18] submodule(CoupledL2, OpenLLC): bump CoupledL2 and OpenLLC --- dut/CoupledL2 | 2 +- dut/OpenLLC | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/dut/CoupledL2 b/dut/CoupledL2 index 7aa6ed2..91fe59a 160000 --- a/dut/CoupledL2 +++ b/dut/CoupledL2 @@ -1 +1 @@ -Subproject commit 7aa6ed2f3b23528677cc94b65e8f819752de923e +Subproject commit 91fe59aa792476ee9b81d0230bb039624c63740f diff --git a/dut/OpenLLC b/dut/OpenLLC index a9ad873..562d431 160000 --- a/dut/OpenLLC +++ b/dut/OpenLLC @@ -1 +1 @@ -Subproject commit a9ad873a6fe0940b7db1dbb998b992469d551a5d +Subproject commit 562d43164a2eddf95d2d05b55b391fec5292dd90 From d5a4c0cf37ba524331ec9e053258515da875360f Mon Sep 17 00:00:00 2001 From: Kumonda221 Date: Mon, 29 Sep 2025 18:25:06 +0800 Subject: [PATCH 14/18] submodule(CoupledL2, OpenLLC): bump CoupledL2 and OpenLLC --- dut/CoupledL2 | 2 +- dut/OpenLLC | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/dut/CoupledL2 b/dut/CoupledL2 index 91fe59a..898fd9b 160000 --- a/dut/CoupledL2 +++ b/dut/CoupledL2 @@ -1 +1 @@ -Subproject commit 91fe59aa792476ee9b81d0230bb039624c63740f +Subproject commit 898fd9b7dcdb11a1776ae45362f839ba4570e199 diff --git a/dut/OpenLLC b/dut/OpenLLC index 562d431..f96c0db 160000 --- a/dut/OpenLLC +++ b/dut/OpenLLC @@ -1 +1 @@ -Subproject commit 562d43164a2eddf95d2d05b55b391fec5292dd90 +Subproject commit f96c0dbdd8610527d30a5b7e30db5239a4f89c72 From 0aeca990804f2a379ba298e4f132de9e98c2cf24 Mon Sep 17 00:00:00 2001 From: Kumonda221 Date: Fri, 10 Oct 2025 15:33:58 +0800 Subject: [PATCH 15/18] submodule(CoupledL2, OpenLLC): bump CoupledL2 and OpenLLC --- dut/CoupledL2 | 2 +- dut/OpenLLC | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/dut/CoupledL2 b/dut/CoupledL2 index 898fd9b..a5f20a4 160000 --- a/dut/CoupledL2 +++ b/dut/CoupledL2 @@ -1 +1 @@ -Subproject commit 898fd9b7dcdb11a1776ae45362f839ba4570e199 +Subproject commit a5f20a43d713bd13ef242aa64fc1c73185b7fcd2 diff --git a/dut/OpenLLC b/dut/OpenLLC index f96c0db..7eb6d87 160000 --- a/dut/OpenLLC +++ b/dut/OpenLLC @@ -1 +1 @@ -Subproject commit f96c0dbdd8610527d30a5b7e30db5239a4f89c72 +Subproject commit 7eb6d873399a2807cdc49d29cd5468db5befa2b8 From d5431313f9f91edbc63d8ca32bfd6143f8cc258b Mon Sep 17 00:00:00 2001 From: Kumonda221 Date: Fri, 10 Oct 2025 17:51:42 +0800 Subject: [PATCH 16/18] submodule(OpenLLC): bump OpenLLC --- dut/OpenLLC | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dut/OpenLLC b/dut/OpenLLC index 7eb6d87..b278801 160000 --- a/dut/OpenLLC +++ b/dut/OpenLLC @@ -1 +1 @@ -Subproject commit 7eb6d873399a2807cdc49d29cd5468db5befa2b8 +Subproject commit b278801d8d8c532b91a8faa69d29169f385357e6 From 753da866a8b527298bd5a6f4be0486ad215de69e Mon Sep 17 00:00:00 2001 From: Kumonda221 Date: Thu, 30 Oct 2025 16:51:29 +0800 Subject: [PATCH 17/18] submodule(OpenLLC, CoupledL2): bump OpenLLC and CoupledL2 --- dut/CoupledL2 | 2 +- dut/OpenLLC | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/dut/CoupledL2 b/dut/CoupledL2 index a5f20a4..614fa64 160000 --- a/dut/CoupledL2 +++ b/dut/CoupledL2 @@ -1 +1 @@ -Subproject commit a5f20a43d713bd13ef242aa64fc1c73185b7fcd2 +Subproject commit 614fa64a0a406d48b1a165ceb602467e9b229da3 diff --git a/dut/OpenLLC b/dut/OpenLLC index b278801..326c169 160000 --- a/dut/OpenLLC +++ b/dut/OpenLLC @@ -1 +1 @@ -Subproject commit b278801d8d8c532b91a8faa69d29169f385357e6 +Subproject commit 326c169051876dfdad20c9ead1925e28914ff051 From 6c22225b960834f4962fc376cbfe3b25e1a1971a Mon Sep 17 00:00:00 2001 From: Kumonda221 Date: Wed, 5 Nov 2025 11:08:19 +0800 Subject: [PATCH 18/18] submodule(OpenLLC, CoupledL2): bump OpenLLC, CoupledL2 --- dut/CoupledL2 | 2 +- dut/OpenLLC | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/dut/CoupledL2 b/dut/CoupledL2 index 614fa64..71974cd 160000 --- a/dut/CoupledL2 +++ b/dut/CoupledL2 @@ -1 +1 @@ -Subproject commit 614fa64a0a406d48b1a165ceb602467e9b229da3 +Subproject commit 71974cdbf15f6899db131f002674edf61a1f2fd9 diff --git a/dut/OpenLLC b/dut/OpenLLC index 326c169..2ad0e75 160000 --- a/dut/OpenLLC +++ b/dut/OpenLLC @@ -1 +1 @@ -Subproject commit 326c169051876dfdad20c9ead1925e28914ff051 +Subproject commit 2ad0e75f6b883391ea7a32ade4733dcfc56c117d