Index: boot/generic/src/printf_core.c
===================================================================
--- boot/generic/src/printf_core.c	(revision 35ebd42e880816820d1be5053efa0e05335b294e)
+++ boot/generic/src/printf_core.c	(revision 8ddaaacd4f1ffc7cd429e863b42a92bfe0fbf899)
@@ -101,5 +101,6 @@
 	PrintfQualifierLongLong,
 	PrintfQualifierPointer,
-	PrintfQualifierSize
+	PrintfQualifierSize,
+	PrintfQualifierMax
 } qualifier_t;
 
@@ -643,4 +644,9 @@
 				uc = str_decode(fmt, &nxt, STR_NO_LIMIT);
 				break;
+			case 'j':
+				qualifier = PrintfQualifierMax;
+				i = nxt;
+				uc = str_decode(fmt, &nxt, STR_NO_LIMIT);
+				break;
 			default:
 				/* Default type */
@@ -759,4 +765,8 @@
 				number = (uint64_t) va_arg(ap, size_t);
 				break;
+			case PrintfQualifierMax:
+				size = sizeof(uintmax_t);
+				number = (uint64_t) va_arg(ap, uintmax_t);
+				break;
 			default:
 				/* Unknown qualifier */
Index: kernel/generic/src/printf/printf_core.c
===================================================================
--- kernel/generic/src/printf/printf_core.c	(revision 35ebd42e880816820d1be5053efa0e05335b294e)
+++ kernel/generic/src/printf/printf_core.c	(revision 8ddaaacd4f1ffc7cd429e863b42a92bfe0fbf899)
@@ -104,5 +104,6 @@
 	PrintfQualifierLongLong,
 	PrintfQualifierPointer,
-	PrintfQualifierSize
+	PrintfQualifierSize,
+	PrintfQualifierMax
 } qualifier_t;
 
@@ -767,4 +768,9 @@
 			case 'z':
 				qualifier = PrintfQualifierSize;
+				i = nxt;
+				uc = str_decode(fmt, &nxt, STR_NO_LIMIT);
+				break;
+			case 'j':
+				qualifier = PrintfQualifierMax;
 				i = nxt;
 				uc = str_decode(fmt, &nxt, STR_NO_LIMIT);
@@ -892,4 +898,8 @@
 				number = (uint64_t) va_arg(ap, size_t);
 				break;
+			case PrintfQualifierMax:
+				size = sizeof(uintmax_t);
+				number = (uint64_t) va_arg(ap, uintmax_t);
+				break;
 			default:
 				/* Unknown qualifier */
Index: uspace/lib/c/generic/io/printf_core.c
===================================================================
--- uspace/lib/c/generic/io/printf_core.c	(revision 35ebd42e880816820d1be5053efa0e05335b294e)
+++ uspace/lib/c/generic/io/printf_core.c	(revision 8ddaaacd4f1ffc7cd429e863b42a92bfe0fbf899)
@@ -114,5 +114,6 @@
 	PrintfQualifierLongLong,
 	PrintfQualifierPointer,
-	PrintfQualifierSize
+	PrintfQualifierSize,
+	PrintfQualifierMax
 } qualifier_t;
 
@@ -1484,4 +1485,9 @@
 				uc = str_decode(fmt, &nxt, STR_NO_LIMIT);
 				break;
+			case 'j':
+				qualifier = PrintfQualifierMax;
+				i = nxt;
+				uc = str_decode(fmt, &nxt, STR_NO_LIMIT);
+				break;
 			default:
 				/* Default type */
@@ -1629,4 +1635,8 @@
 				number = (uint64_t) va_arg(ap, size_t);
 				break;
+			case PrintfQualifierMax:
+				size = sizeof(uintmax_t);
+				number = (uint64_t) va_arg(ap, uintmax_t);
+				break;
 			default:
 				/* Unknown qualifier */
