Soak the porcini in a cup of warm water for at least 30 minutes. Drain the liquid, straining it through a fine strainer to remove any sand. Reserve the strained liquid, re-rinse the mushrooms, pat them dry, and chop finely.
Place 4 tablespoons of the olive oil in a large soup pot over medium heat. Saute the onion and garlic for about 5 minutes until wilted. Add the porcini and the white mushrooms and cook for 10 minutes. Add the porcini liquid, tomatoes, salt, pepper, marjoram, thyme, and the stock. Bring to a boil, lower heat, and allow to simmer for 15 minutes.
Combine the egg yolks, Parmesan, and pecorino in a mixing bowl, then gradually whisk 1 cup of the hot soup into the mixture to warm it. Then whisk the egg mixture directly into the simmering pot, stirring to thicken the soup. Add the parsley and cook for 5 more minutes.
Meanwhile, brush the slices of bread with the remaining olive oil and toast them in the oven at 400 degrees F until golden brown. Place one piece of the toast in the bottom of each serving bowl, ladle the soup over the top and serve with additional grated Parmesan on the side.
Recipe courtesy of David Ruggerio, from his Little Italy Cookbook