Index: generic/src/console/cmd.c
===================================================================
--- generic/src/console/cmd.c	(revision 80bff3426b0c5ce4e21f4e7f42a392db6cfc0d9a)
+++ generic/src/console/cmd.c	(revision 5fe5f1e32929f169590b1157e7ea82b24585e0f0)
@@ -46,8 +46,9 @@
 #include <debug.h>
 #include <symtab.h>
-
+#include <cpu.h>
 #include <mm/tlb.h>
 #include <arch/mm/tlb.h>
 #include <mm/frame.h>
+#include <main/version.h>
 
 /** Data and methods for 'help' command. */
@@ -119,6 +120,4 @@
 	.argv = set4_argv
 };
-
-
 
 /** Data and methods for 'call0' command. */
@@ -233,11 +232,11 @@
 };
 
-/** Data and methods for 'ptlb' command. */
-static int cmd_ptlb(cmd_arg_t *argv);
-cmd_info_t ptlb_info = {
-	.name = "ptlb",
+/** Data and methods for 'tlb' command. */
+static int cmd_tlb(cmd_arg_t *argv);
+cmd_info_t tlb_info = {
+	.name = "tlb",
 	.description = "Print TLB of current processor.",
 	.help = NULL,
-	.func = cmd_ptlb,
+	.func = cmd_tlb,
 	.argc = 0,
 	.argv = NULL
@@ -263,5 +262,4 @@
 };
 
-
 static cmd_info_t zone_info = {
 	.name = "zone",
@@ -272,4 +270,27 @@
 };
 
+/** Data and methods for 'cpus' command. */
+static int cmd_cpus(cmd_arg_t *argv);
+cmd_info_t cpus_info = {
+	.name = "cpus",
+	.description = "List all processors.",
+	.help = NULL,
+	.func = cmd_cpus,
+	.argc = 0,
+	.argv = NULL
+};
+
+/** Data and methods for 'version' command. */
+static int cmd_version(cmd_arg_t *argv);
+cmd_info_t version_info = {
+	.name = "version",
+	.description = "Print version information.",
+	.help = NULL,
+	.func = cmd_version,
+	.argc = 0,
+	.argv = NULL
+};
+
+
 
 
@@ -328,7 +349,7 @@
 		panic("could not register command %s\n", halt_info.name);
 
-	cmd_initialize(&ptlb_info);
-	if (!cmd_register(&ptlb_info))
-		panic("could not register command %s\n", ptlb_info.name);
+	cmd_initialize(&tlb_info);
+	if (!cmd_register(&tlb_info))
+		panic("could not register command %s\n", tlb_info.name);
 
 	cmd_initialize(&zones_info);
@@ -340,4 +361,13 @@
 		panic("could not register command %s\n", zone_info.name);
 
+	cmd_initialize(&cpus_info);
+	if (!cmd_register(&cpus_info))
+		panic("could not register command %s\n", cpus_info.name);
+		
+	cmd_initialize(&version_info);
+	if (!cmd_register(&version_info))
+		panic("could not register command %s\n", version_info.name);
+		
+		
 
 }
@@ -539,5 +569,5 @@
  * @return Always returns 1.
  */
-int cmd_ptlb(cmd_arg_t *argv)
+int cmd_tlb(cmd_arg_t *argv)
 {
 	tlb_print();
@@ -577,9 +607,9 @@
 }
 
-
 int cmd_zones(cmd_arg_t * argv) {
 	printf("Zones listing not implemented\n");
 	return 1;
 }
+
 int cmd_zone(cmd_arg_t * argv) {
 	printf("Zone details not implemented\n");
@@ -587,2 +617,25 @@
 }
 
+/** Command for listing processors.
+ *
+ * @param argv Ignored.
+ *
+ * return Always 1.
+ */
+int cmd_cpus(cmd_arg_t *argv)
+{
+	cpu_list();
+	return 1;
+}
+
+/** Command for printing kernel version.
+ *
+ * @param argv Ignored.
+ *
+ * return Always 1.
+ */
+int cmd_version(cmd_arg_t *argv)
+{
+	version_print();
+	return 1;
+}
